mirror of
https://github.com/mpv-player/mpv
synced 2024-12-24 07:42:17 +00:00
a6f37a41f4
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20540 b3059339-0415-0410-9bf9-f77b7e298cf2
1174 lines
39 KiB
XML
1174 lines
39 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- synced with r19081 -->
|
|
<!-- Opiekun: Flex -->
|
|
<appendix id="skin">
|
|
<title>Format skórki <application>MPlayera</application></title>
|
|
|
|
<sect1 id="skin-overview">
|
|
<title>Wstęp</title>
|
|
<para>
|
|
W zasadzie nie ma to żadnego związku z formatem skórki, ale powinieneś
|
|
wiedzieć, że <application>MPlayer</application> <emphasis role="bold">nie</emphasis>
|
|
ma wbudowanej skórki, w związku z tym <emphasis role="bold"> co najmniej
|
|
jedna skórka musi być zainstalowana, abyś miał możliwość korzystania z GUI.</emphasis>
|
|
</para>
|
|
|
|
<sect2 id="skin-overview-directories">
|
|
<title>Katalogi</title>
|
|
<para>
|
|
Skórki są szukane w następujących katalogach (w kolejności):
|
|
<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>
|
|
Zauważ, że pierwsza ścieżka może się różnić, w zależności od sposobu w jaki
|
|
<application>MPlayer</application> został skonfigurowany
|
|
(zobacz argumenty <option>--prefix</option> oraz <option>--datadir</option>
|
|
w skrypcie <command>configure</command>).
|
|
</para>
|
|
|
|
<para>
|
|
Każda skórka jest instalowana w swoim własnym katalogu, w jednej z wyżej
|
|
wymienionych lokacji, na przykład:
|
|
<screen>$(PREFIX)/share/mplayer/skins/default/</screen>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="skin-overview-formats">
|
|
<title>Formaty obrazków</title>
|
|
<para>Obrazki muszą być zapisane w formacie PNG (paleta truecolor - 24 lub 32 bpp).</para>
|
|
<para>
|
|
W głównym oknie oraz na panelu odtwarzania (zobacz niżej) możesz użyć
|
|
obrazków z 'przezroczystością': obszary wypełnione kolorem #FF00FF (magenta) są
|
|
w pełni przezroczyste dla <application>MPlayera</application>. Oznacza to, że
|
|
możesz mieć okna o różnych kształtach jeśli Twój X Server ma rozszerzenie
|
|
XShape.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="skin-overview-components">
|
|
<title>Składniki skórki</title>
|
|
<para>
|
|
Skórki są całkowicie konfigurowalne (w odróżnieniu od skórek np.
|
|
<application>Winampa</application>/<application>XMMS</application>),
|
|
a więc zależy to wyłącznie od Ciebie, czy stworzysz coś wspaniałego.
|
|
</para>
|
|
|
|
<para>
|
|
W chwili obecnej mamy cztery okna, które można ozdobić:
|
|
<link linkend="skin-file-main">okno główne (main window)</link>,
|
|
<link linkend="skin-file-subwindow">okno ekranu (subwindow)</link>,
|
|
<link linkend="skin-file-main">panel odtwarzania (playbar)</link>,
|
|
<link linkend="skin-file-menu">menu skórki (skin menu)</link> (które może być
|
|
aktywowane prawym przyciskiem myszy).
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">Okno główne</emphasis> i/lub
|
|
<emphasis role="bold">panel odtwarzania</emphasis> to miejsca, gdzie możesz
|
|
sterować <application>MPlayerem</application>.
|
|
Tłem tego okna jest obrazek. Różne elementy mogą (i muszą) być umieszczone
|
|
w tym oknie: <emphasis>przyciski</emphasis>, <emphasis>potencjometry</emphasis>
|
|
(suwaki) i <emphasis>etykiety</emphasis>. Dla każdego elementu musisz określić
|
|
ich pozycję oraz rozmiar.
|
|
</para><para>
|
|
<emphasis role="bold">Przycisk</emphasis> ma trzy stany (wciśnięty,
|
|
zwolniony, nieaktywny), zatem jego obrazki muszą być podzielone na trzy
|
|
części w pionie. Zobacz sekcję <link linkend="skin-button">button</link>, by
|
|
dowiedzieć się więcej.
|
|
</para><para>
|
|
<emphasis role="bold">Potencjometr (suwak)</emphasis> (wykorzystywany głównie
|
|
jako pasek przewijania i kontrolka głośności/balansu) może składać się z
|
|
każdej liczby stanów poprzez podzielenie jego obrazka na wiele części, z
|
|
których jedna jest pod drugą. Zobacz
|
|
<link linkend="skin-hpotmeter">hpotmeter</link> oraz
|
|
<link linkend="skin-potmeter">potmeter</link>, by dowiedzieć się więcej.
|
|
</para><para>
|
|
<emphasis role="bold">Etykiety</emphasis> są nieco specyficzne: Znaki
|
|
potrzebne do ich narysowania są pobierane z pliku graficznego, a znaki
|
|
umieszczone w pliku graficznym są opisane przez
|
|
<link linkend="skin-fonts">plik opisu czcionek</link>. Jest to plik, który za
|
|
pomocą czystego tekstu określa współrzędne x, y oraz wielkość każdego znaku
|
|
umieszczonego na obrazku (plik graficzny i jego plik opisu tworzą
|
|
<emphasis>razem</emphasis> czcionkę).
|
|
Zobacz <link linkend="skin-dlabel">dlabel</link>
|
|
oraz <link linkend="skin-slabel">slabel</link>, by dowiedzieć się więcej.
|
|
</para>
|
|
<note><para>Wszystkie obrazki mogą być całkowicie przezroczyste - tak, jak to
|
|
opisano w sekcji <link linkend="skin-overview-formats">formaty plików
|
|
graficznych</link>. Jeżeli X Server nie obsługuje rozszerzenia XShape, to
|
|
elementy oznaczone jako przezroczyste będą czarne. Jeśli chciałbyś wykorzystać
|
|
taką możliwość, szerokość obrazka tła głównego okna musi być podzielna przez 8.
|
|
</para></note>
|
|
</listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">Okno ekranu</emphasis> to miejsce, gdzie odtwarzany jest
|
|
film. Może ono wyświetlać określony obrazek, jeśli żaden film nie jest uruchomiony
|
|
(to dość nudne mieć puste okno :-)) <emphasis role="bold">Uwaga:</emphasis>
|
|
przezroczystość <emphasis role="bold">nie jest</emphasis> tutaj dostępna.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">Menu skórki</emphasis> to po prostu jeden ze sposobów na
|
|
kontrolowanie <application>MPlayera</application> poprzez wpisy w menu. Dwa
|
|
obrazki są do tego potrzebne: pierwszy z nich jest obrazkiem podstawowym,
|
|
który pokazuje zwykły stan menu, drugi zaś służy do wyświetlenia zaznaczonych
|
|
obszarów. Gdy uaktywnisz menu, zostanie pokazany pierwszy obrazek. Jeśli
|
|
przesuniesz mysz nad któryś z jego wpisów, wówczas zaznaczony element jest
|
|
kopiowany z drugiego obrazka w miejsce, na które wskazuje kursor myszy (drugi
|
|
obrazek nigdy nie jest wyświetlany w całości).
|
|
</para><para>
|
|
Wpis w menu jest określony przez jego pozycję oraz rozmiar na obrazku (zobacz
|
|
sekcję <link linkend="skin-file-menu">menu skórki</link> by dowiedzieć się
|
|
więcej).
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
Jedna ważna sprawa, która nie została jeszcze powiedziana:
|
|
<application>MPlayer</application> musi wiedzieć co zrobić w momencie
|
|
kliknięcia na przyciski, potencjometry i wpisy w menu, aby zadziałały. Zostało
|
|
to zrobione za pomocą <link linkend="skin-gui">sygnałów</link> (zdarzeń). Dla
|
|
tych elementów musisz zdefiniować sygnały, które mają być wysłane podczas
|
|
kliknięcia na nie.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="skin-files">
|
|
<title>Pliki</title>
|
|
<para>
|
|
Potrzebujesz następujących plików do stworzenia skórki:
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
Plik konfiguracyjny o nazwie <link linkend="skin-file">skin</link> mówi
|
|
<application>MPlayerowi</application> jak połączyć różne części skórki
|
|
w jedną całość i co zrobić, gdy kliknie się gdzieś na obszarze okna.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Plik graficzny tła w oknie głównym.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Obrazki dla elementów w głównym oknie (zawierające jeden lub
|
|
więcej plików opisu czcionek potrzebnych do rysowania etykiet).
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Obrazek wyświetlany w oknie ekranu (opcjonalnie)
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Dwa obrazki dla menu skórki (potrzebne są tylko wtedy, gdy chcesz stworzyć
|
|
takie menu).
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
Za wyjątkiem pliku konfiguracyjnego skórki, możesz nazwać wszystkie pliki
|
|
tak, jak tego chcesz (ale weź pod uwagę, że pliki opisu czcionek muszą mieć
|
|
rozszerzenie <filename>.fnt</filename> ).
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="skin-file">
|
|
<title>Plik skin</title>
|
|
<para>
|
|
Jak zostało powiedziane wcześniej, plik ten jest plikiem konfigurującym skórkę.
|
|
Obsługuje różne rodzaje wierszy; komentarze zaczynają wiersz znakiem
|
|
'<literal>;</literal>' (tylko spacje i znaki tabulacji są dopuszczone przed
|
|
'<literal>;</literal>').
|
|
</para>
|
|
|
|
<para>
|
|
Plik podzielony jest na sekcje. Każda sekcja opisuje skórkę dla każdej
|
|
aplikacji i ma następującą formę:
|
|
|
|
<programlisting>
|
|
section = <replaceable>nazwa sekcji</replaceable>
|
|
.
|
|
.
|
|
.
|
|
end
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
Obecnie jest tylko jedna aplikacja, a więc potrzebujesz tylko jedną sekcję
|
|
'section' - jej nazwa to <emphasis role="bold">movieplayer</emphasis>.
|
|
</para>
|
|
|
|
<para>
|
|
Wewnątrz tej sekcji każde z okien jest opisane przez blok następującej postaci:
|
|
<programlisting>
|
|
window = <replaceable>nazwa okna</replaceable>
|
|
.
|
|
.
|
|
.
|
|
end
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
gdzie <replaceable>nazwa okna</replaceable> może być jednym z poniższych łańcuchów:
|
|
<itemizedlist>
|
|
<listitem><para><emphasis role="bold">main</emphasis> - dla okna głównego</para></listitem>
|
|
<listitem><para><emphasis role="bold">sub</emphasis> - dla okna ekranu</para></listitem>
|
|
<listitem><para><emphasis role="bold">menu</emphasis> - dla menu skórki</para></listitem>
|
|
<listitem><para><emphasis role="bold">playbar</emphasis> - dla panelu odtwarzania</para></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
(Bloki sub i menu są opcjonalne - nie musisz tworzyć menu czy elementów skórki
|
|
dla okna ekranu)
|
|
</para>
|
|
|
|
<para>
|
|
Wewnątrz bloku 'window' możesz definiować każdy element okna, wpisując linijkę
|
|
tej postaci: <programlisting>item = parametr</programlisting>
|
|
Gdzie <literal>item</literal> jest łańcuchem, kóry identyfikuje typ elementu
|
|
GUI, <literal>parametr</literal> jest wartością numeryczną lub tekstową (lub
|
|
listą takich wartości oddzielonych od siebie znakiem przecinka).
|
|
</para>
|
|
|
|
<para>
|
|
Złożenie powyższych elementów razem tworzy plik, który wygląda mniej więcej tak:
|
|
<programlisting>
|
|
section = movieplayer
|
|
window = main
|
|
; ... elementy okna głównego ...
|
|
end
|
|
|
|
window = sub
|
|
; ... elementy okna ekranu ...
|
|
end
|
|
|
|
window = menu
|
|
; ... elementy menu skórki ...
|
|
end
|
|
|
|
window = playbar
|
|
; ... elementy panelu odtwarzania ...
|
|
end
|
|
end
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
Nazwa pliku graficznego musi zostać podana bez żadnych nazw katalogów - obrazki
|
|
są szukane w katalogu <filename class="directory">skins</filename>.
|
|
Możesz (ale nie musisz) określić rozszerzenia tego pliku. Jeśli plik taki nie
|
|
istnieje, <application>MPlayer</application>
|
|
spróbuje wczytać plik <filename><nazwa pliku>.<rozszerzenie></filename>,
|
|
gdzie <literal>png</literal> oraz <literal>PNG</literal> są brane jako
|
|
<filename><rozszerzenie></filename> (w tej właśnie kolejności). Pierwszy
|
|
pasujący plik będzie użyty.
|
|
</para>
|
|
|
|
<para>
|
|
Na koniec kilka słów na temat pozycjonowania. Okno główne oraz okno ekranu możesz
|
|
umieścić w różnych narożnikach ekranu poprzez ustawienie współrzędnych
|
|
<literal>X</literal> i <literal>Y</literal>. <literal>0</literal> to góra lub
|
|
lewa strona, <literal>-1</literal> to środek, <literal>-2</literal> to strona
|
|
prawa, lub dół, tak jak przedstawiono na poniższej ilustracji:
|
|
</para>
|
|
<informalfigure>
|
|
<screen>
|
|
(0, 0)----(-1, 0)----(-2, 0)
|
|
| | |
|
|
| | |
|
|
(0,-1)----(-1,-1)----(-2,-1)
|
|
| | |
|
|
| | |
|
|
(0,-2)----(-1,-2)----(-2,-2)
|
|
</screen>
|
|
</informalfigure>
|
|
|
|
<para>
|
|
Oto przykład wyjaśniający to lepiej. Przypuśćmy, że masz obrazek nazwany
|
|
<filename>main.png</filename>, który został użyty dla okna głównego:
|
|
<programlisting>base = main, -1, -1</programlisting>
|
|
<application>MPlayer</application> spróbuje wczytać pliki
|
|
<filename>main</filename>, <filename>main.png</filename>,
|
|
<filename>main.PNG</filename>.
|
|
</para>
|
|
|
|
|
|
<sect2 id="skin-file-main">
|
|
<title>Okno główne i panel odtwarzania</title>
|
|
<para>
|
|
Poniżej znajduje się lista wpisów, które mogą być użyte w blokach
|
|
'<literal>window = main</literal>'...'<literal>end</literal>'
|
|
oraz '<literal>window = playbar</literal>' ... '<literal>end</literal>'.
|
|
</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-main-base"/>base = obrazek, X, Y
|
|
</literal></term>
|
|
<listitem><para>
|
|
Możesz określić obrazek tła, który będzie używany w oknie głównym.
|
|
Okno będzie widoczne na ekranie na współrzędnych <literal>X, Y</literal>. Okno
|
|
będzie wielkości tego obrazka.
|
|
</para>
|
|
<note><para>Współrzędne te nie działają na razie dla okna ekranu.</para></note>
|
|
<warning><para>Obszary przezroczystości obrazka (kolor #FF00FF) będą
|
|
widoczne jako czarne pod X serwerami niemającymi rozszerzenia
|
|
XShape. Szerokość obrazka musi być podzielna przez 8.</para></warning>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-button"/>button = obrazek, X, Y, szerokość, wysokość, sygnał
|
|
</literal></term>
|
|
<listitem><para>
|
|
Umieści przycisk o rozmiarze <literal>szerokość</literal> *
|
|
<literal>wysokość</literal> na pozycji <literal>X</literal>,
|
|
<literal>Y</literal>. Określony <literal>sygnał</literal> jest generowany
|
|
podczas kliknięcia na przycisk. Obrazek ten opisany przez
|
|
<literal>obrazek</literal> musi składać się z trzech części jedna pod drugą
|
|
(stosownie do możliwych stanów przycisku), w ten oto sposób:
|
|
</para>
|
|
<informalfigure>
|
|
<screen>
|
|
+---------------+
|
|
| wciśnięty |
|
|
+---------------+
|
|
| zwolniony |
|
|
+---------------+
|
|
| nieaktywny |
|
|
+---------------+
|
|
</screen>
|
|
</informalfigure>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-decoration"/>decoration = enable|disable (włączona|wyłączona)
|
|
</literal></term>
|
|
<listitem><para>
|
|
Włącza lub wyłącza dekorację menedżera okna w oknie głównym.
|
|
Domyślnie jest <emphasis role="bold">wyłączona</emphasis>.
|
|
</para>
|
|
<note><para>Nie działa to w oknie ekranu, gdyż nie ma takiej potrzeby.</para></note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-hpotmeter"/>hpotmeter = przycisk, szer_przycisku, wys_przycisku, faza, liczba_faz, domyślny, X, Y, szerokość, wysokość, sygnał
|
|
</literal></term>
|
|
<listitem><para>
|
|
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-vpotmeter"/>vpotmeter = przycisk, szer_przycisku, wys_przycisku, fazy, liczba_faz, domyślny, X, Y, szerokość, wysokość, sygnał
|
|
</literal></term>
|
|
<listitem><para>
|
|
Umieszcza poziomo (hpotmeter) lub pionowo (vpotmeter) suwak o rozmiarze
|
|
<literal>szerokość</literal> * <literal>wysokość</literal> i pozycji
|
|
<literal>X,Y</literal>. Obrazek może być podzielony na różne części dla różnych
|
|
faz suwaka (np. możesz mieć suwak głośności, który w zależności od położenia
|
|
zmienia kolor z zielonego (minimum) na czerwony (maksimum)).
|
|
<literal>hpotmeter</literal> może być przyciskiem umieszczonym poziomo.
|
|
Jego parametry to:
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem><para><literal>przycisk</literal> - obrazek użyty do przycisku
|
|
(musi posiadać trzy części jedna pod drugą tak, jak w przypadku
|
|
<link linkend="skin-button">przycisku</link>)
|
|
</para></listitem>
|
|
<listitem><para><literal>szer_przycisku</literal>,<literal>wys_przycisku</literal> - wielkość przycisku
|
|
</para></listitem>
|
|
<listitem><para><literal>fazy</literal> - obrazek używany do określenie faz
|
|
dla hpotmeter. Wartość specjalna <literal>NULL</literal> może być użyta,
|
|
jeśli nie chcesz żadnego obrazka. Obrazek musi być podzielony w pionie
|
|
na fragmenty <literal>poszczególnych faz</literal> tak, jak poniżej:
|
|
</para>
|
|
<informalfigure>
|
|
<screen>
|
|
+------------+
|
|
| faza #1 |
|
|
+------------+
|
|
| faza #2 |
|
|
+------------+
|
|
...
|
|
+------------+
|
|
| faza #n |
|
|
+------------+
|
|
</screen>
|
|
|
|
</informalfigure>
|
|
</listitem>
|
|
<listitem><para><literal>liczba_faz</literal> - liczba faz znajdująca się na obrazku z <literal>fazami</literal>
|
|
</para></listitem>
|
|
<listitem><para><literal>domyślny</literal> - domyślne ustawienie dla hpotmeter
|
|
(zakres od <literal>0</literal> do <literal>100</literal>)
|
|
</para></listitem>
|
|
<listitem><para><literal>X</literal>,<literal>Y</literal> - pozycja dla hpotmeter
|
|
</para></listitem>
|
|
<listitem><para><literal>szerokość</literal>,<literal>wysokość</literal> - szerokość i wysokość dla
|
|
<literal>hpotmeter</literal>
|
|
</para></listitem>
|
|
<listitem><para><literal>sygnał</literal> - sygnał generowany podczas zmiany wartości <literal>hpotmeter</literal>
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-potmeter"/>potmeter = fazy, liczba_faz, domyślny, X, Y, szerokość, wysokość, sygnał
|
|
</literal></term>
|
|
<listitem><para>
|
|
<literal>hpotmeter</literal> bez przycisku. (domyślam się, że chodzi o to, aby
|
|
nim kręcić, ale reaguje on tylko na poziome przesuwanie). Opis parametrów znajdziesz w części o
|
|
<link linkend="skin-hpotmeter">hpotmeter</link>.
|
|
Parametr <literal>fazy</literal> może mieć wartość <literal>NULL</literal>, ale
|
|
jest to zupełnie bezużyteczne, gdyż nie widać wtedy położenia potencjometru.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-font"/>font = plik_czcionek, id_czcionki
|
|
</literal></term>
|
|
<listitem><para>
|
|
Definiuje czcionkę. <literal>plik_czcionek</literal> jest nazwą pliku opisu
|
|
czcionki z rozszerzeniem <filename>.fnt</filename> (nie podawaj rozszerzenia w
|
|
tym miejscu). <literal>id_czcionki</literal> jest używany do wskazywania
|
|
konkretnej czcionki (zobacz <link linkend="skin-dlabel">dlabel</link>
|
|
oraz <link linkend="skin-slabel">slabel</link>). Można zdefiniować do 25
|
|
czcionek.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-slabel"/>slabel = X, Y, id_czcionki, "tekst"
|
|
</literal></term>
|
|
<listitem><para>
|
|
Umieszcza statyczną etykietę w pozycji <literal>X,Y</literal>.
|
|
<literal>tekst</literal> jest wyświetlany za pomocą czcionki wskazywanych przez
|
|
<literal>id_czcionki</literal>. Tekst jest po prostu zwykłym łańcuchem znaków
|
|
(zmienne <literal>$x</literal> nie działają), któru musi być umieszczony
|
|
pomiędzy podwójnym cudzysłowem (znak " nie może być częścią tekstu).
|
|
Etykieta wyświetlana jest za pomocą czcionki, na którą wskazuje
|
|
<literal>id_czcionki</literal>.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-dlabel"/>dlabel = X, Y, długość, wyrównanie, id_czcionki, "tekst"
|
|
</literal></term>
|
|
<listitem>
|
|
<para>
|
|
Umieszcza dynamiczną etykietę w pozycji <literal>X,Y</literal>. Etykieta jest
|
|
nazywana dynamiczną, ponieważ jej tekst jest cyklicznie odświeżany. Maksymalną
|
|
długość etykiety określa parametr <literal>długość</literal> (jej wysokość
|
|
określa wysokość czcionki). Jeśli tekst jest szerszy niż zdefiniowana długość,
|
|
będzie on przewijany, w przeciwnym wypadku będzie wyrównany w miejscu określonym
|
|
przez wartość parametru <literal>wyrównanie</literal>: <literal>0</literal>
|
|
oznacza do prawej, <literal>1</literal> to wyśrodkowanie, <literal>2</literal>
|
|
to wyrównanie do lewej.
|
|
</para>
|
|
<para>
|
|
Wyświetlany tekst jest określony przez zmienną <literal>tekst</literal>: musi
|
|
być zawarty pomiędzy podwójnymi cudzysłowami (znak " nie może być częścią
|
|
tekstu). Etykieta wyświetlana jest za pomocą czcionki, na którą wskazuje
|
|
parametr <literal>id_czcionki</literal>. Możesz użyć następujących zmiennych w
|
|
tekście:
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row><entry>Zmienna</entry><entry>Znaczenie</entry></row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>$1</entry>
|
|
<entry>czas odtwarzania w formacie <emphasis>hh:mm:ss</emphasis></entry>
|
|
</row>
|
|
<row>
|
|
<entry>$2</entry>
|
|
<entry>czas odtwarzania w formacie <emphasis>mmmm:ss</emphasis></entry>
|
|
</row>
|
|
<row>
|
|
<entry>$3</entry>
|
|
<entry>czas odtwarzania w formacie (godziny) <emphasis>hh</emphasis></entry>
|
|
</row>
|
|
<row>
|
|
<entry>$4</entry>
|
|
<entry>czas odtwarzania w formacie (minuty) <emphasis>mm</emphasis></entry>
|
|
</row>
|
|
<row>
|
|
<entry>$5</entry>
|
|
<entry>czas odtwarzania w formacie (sekundy) <emphasis>ss</emphasis></entry>
|
|
</row>
|
|
<row>
|
|
<entry>$6</entry>
|
|
<entry>długość filmu w formacie <emphasis>hh:mm:ss</emphasis></entry>
|
|
</row>
|
|
<row>
|
|
<entry>$7</entry>
|
|
<entry>długość filmu w formacie <emphasis>mmmm:ss</emphasis></entry>
|
|
</row>
|
|
<row>
|
|
<entry>$8</entry>
|
|
<entry>długość filmu w formacie<emphasis>h:mm:ss</emphasis></entry>
|
|
</row>
|
|
<row>
|
|
<entry>$v</entry>
|
|
<entry>format głośności w %<emphasis>xxx.xx</emphasis></entry>
|
|
</row>
|
|
<row>
|
|
<entry>$V</entry>
|
|
<entry>format głośności <emphasis>xxx.xx</emphasis> format</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$b</entry>
|
|
<entry>format balansu w %<emphasis>xxx.xx</emphasis></entry>
|
|
</row>
|
|
<row>
|
|
<entry>$B</entry>
|
|
<entry>format balansu <emphasis>xxx.xx</emphasis></entry>
|
|
</row>
|
|
<row>
|
|
<entry>$$</entry>
|
|
<entry>znak $</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$a</entry>
|
|
<entry>oznaczenie zgodne z rodzajem typu pliku audio (nic: <literal>n</literal>,
|
|
mono: <literal>m</literal>, stereo: <literal>t</literal>)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$t</entry>
|
|
<entry>numer ścieżki (na liście odtwarzania)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$o</entry>
|
|
<entry>nazwa pliku</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$f</entry>
|
|
<entry>nazwa pliku pisana małymi literami</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$F</entry>
|
|
<entry>nazwa pliku pisana wielkimi literami</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$T</entry>
|
|
<entry>oznaczenie zgodne z rodzajem strumienia (plik: <literal>f</literal>,
|
|
Video CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$p</entry>
|
|
<entry>znak <keycap>p</keycap> (gdy film jest odtwarzany i czcionka ma znak <keycap>p</keycap>)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$s</entry>
|
|
<entry>znak <keycap>s</keycap> (gdy film jest zatrzymany i czcionka ma znak <keycap>s</keycap>)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$e</entry>
|
|
<entry>znak <keycap>e</keycap> (gdy film jest wstrzymany (pauza) i czcionka ma znak <keycap>e</keycap>)
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$x</entry>
|
|
<entry>rozdzielczość filmu (szerokość)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$y</entry>
|
|
<entry>rozdzielczość filmu (wysokość)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$C</entry>
|
|
<entry>nazwa używanego kodeka</entry>
|
|
</row>
|
|
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<note><para>
|
|
Zmienne <literal>$a, $T, $p, $s</literal> oraz <literal>$e</literal>
|
|
zwracają znaki, które powinny być wyświetlane jako znaki specjalne (na przykład
|
|
<keycap>e</keycap> jest symbolem pauzy, która z reguły wygląda mniej więcej tak
|
|
||). Powinieneś mieć czcionkę dla zwykłych znaków oraz osobną czcionkę dla symboli.
|
|
Zobacz sekcję na temat <link linkend="skin-fonts-symbols">symboli</link>,
|
|
by dowiedzieć się więcej.
|
|
</para></note>
|
|
</sect2>
|
|
|
|
<sect2 id="skin-file-subwindow">
|
|
<title>Okno ekranu</title>
|
|
<para>
|
|
Poniższe wpisy mogą być użyte w bloku
|
|
'<literal>window = sub</literal>' . . . '<literal>end</literal>' .
|
|
</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-sub-base"/>base = obrazek, X, Y, szerokość, wysokość
|
|
</literal></term>
|
|
<listitem><para>
|
|
Wyświetla obrazek w oknie. Okno będzie widoczne na ekranie w miejscu oznaczonym
|
|
przez współrzędne <literal>X</literal>, <literal>Y</literal>
|
|
(<literal>0,0</literal> to lewy górny narożnik). Możesz użyć
|
|
<literal>-1</literal> dla środka, <literal>-2</literal> dla prawej strony
|
|
(<literal>X</literal>) i dołu (<literal>Y</literal>). Okno będzie mieć wielkość
|
|
obrazka. <literal>szerokość</literal> oraz <literal>wysokość</literal> oznaczają
|
|
wielkość okna; są one opcjonalne (jeśli nie są określone, okno będzie wielkości
|
|
takiej, jak obrazek).</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-background"/>background = R, G, B
|
|
</literal></term>
|
|
<listitem><para>
|
|
Pozwala ustawić kolor tła. Jest to użyteczne jeśli obrazek jest mniejszy niż
|
|
okno. <literal>R</literal>, <literal>G</literal> oraz <literal>B</literal>
|
|
określają składniki kolorów czerwonego, zielonego i niebieskiego (każdy z nich
|
|
jest reprezentowany przez liczbę dziesiętną w zakresie od 0 do
|
|
255).</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect2>
|
|
|
|
<sect2 id="skin-file-menu">
|
|
<title>Menu skórki</title>
|
|
<para>
|
|
Jak wspomniano wcześniej, menu jest wyświetlane przy użyciu dwóch obrazków.
|
|
Zwykłe obszary menu są pobierane z obrazka określonego przez element
|
|
<literal>base</literal>, podczas gdy obszary zaznaczone są pobierane z obrazka
|
|
wskazywanego przez element <literal>selected</literal>. Musisz zdefiniować
|
|
pozycję i rozmiar każdego obszaru menu poprzez element menu.
|
|
</para>
|
|
|
|
<para>
|
|
Poniższe wpisy mogą być użyte w bloku:
|
|
'<literal>window = menu</literal>'. . .'<literal>end</literal>' .
|
|
</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-menu-base"/>base = obrazek
|
|
</literal></term>
|
|
<listitem><para>
|
|
Obrazek dla zwykłych obszarów menu.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-selected"/>selected = obrazek
|
|
</literal></term>
|
|
<listitem><para>
|
|
Obrazek pokazujący w menu wszystkie zaznaczone obszary.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>
|
|
<anchor id="skin-menu"/>menu = X, Y, szerokość, wysokość, sygnał
|
|
</literal></term>
|
|
<listitem><para>
|
|
Definiuje pozycję i rozmiar obszarów menu na obrazku przy pomocy
|
|
<literal>X,Y</literal>. <literal>sygnał</literal> to zdarzenie wygenerowane
|
|
podczas zwolnienia przycisku myszy nad obszarem.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="skin-fonts">
|
|
<title>Czcionki</title>
|
|
<para>
|
|
Jak wspomniano w sekcji na temat fragmentów skórki, czcionka jest definiowana
|
|
przez obrazek i plik opisujący. Możesz umieścić znaki gdziekolwiek na obrazku,
|
|
ale miej pewność, żeich pozycja i rozmiar jest dokładnie podana w pliku
|
|
opisującym.
|
|
</para>
|
|
|
|
<para>
|
|
Plik opisujący czcionkę (o rozszerzeniu <filename>.fnt</filename>) może posiadać
|
|
linie komentarzy zaczynające się znakiem '<literal>;</literal>'. Plik musi
|
|
zawierać linie w postaci:
|
|
<anchor id="skin-font-image"/>
|
|
<programlisting>image = <replaceable>obrazek</replaceable></programlisting>
|
|
Gdzie <literal><replaceable>obrazek</replaceable></literal> jest nazwą pliku
|
|
graficznego, który zawiera czcionkę (nie musisz dopisywać jego rozszerzenia).
|
|
<anchor id="skin-font-char"/>
|
|
<programlisting>"char" = X, Y, szerokość, wysokość</programlisting>
|
|
<literal>X</literal> oraz <literal>Y</literal> określają pozycję znaku
|
|
<literal>char</literal> na obrazku (<literal>0,0</literal> to górny lewy narożnik).
|
|
<literal>szerokość</literal> i <literal>wysokość</literal> to rozmiar znaku
|
|
w pikselach.
|
|
</para>
|
|
|
|
<para>
|
|
Przykład: definiujemy znaki A, B, C przy użyciu pliku <filename>font.png</filename>.
|
|
<programlisting>
|
|
; Może być "font" zamiast "font.png".
|
|
image = font.png
|
|
|
|
; Trzy znaki wystarczą do tej demonstracji :-)
|
|
"A" = 0,0, 7,13
|
|
"B" = 7,0, 7,13
|
|
"C" = 14,0, 7,13
|
|
</programlisting>
|
|
</para>
|
|
|
|
<sect2 id="skin-fonts-symbols">
|
|
<title>Znaki specjalne (symbole)</title>
|
|
<para>
|
|
Niektóre znaki mają specjalne znaczenie, gdy są zwracane przez pewne zmienne
|
|
używane w <link linkend="skin-dlabel">dlabel</link>. Znaki te mogą być
|
|
wyświetlane jako symbole w ten sposób, że np. podczas odtwarzania strumienia DVD
|
|
widoczne jest ładne logo zamiast znaku '<literal>d</literal>'.
|
|
</para>
|
|
<para>
|
|
Poniższa tablica zawiera znaki używane do wyświetlania symboli (wymagają one
|
|
oddzielnych czcionek).
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row><entry>Znak</entry><entry>Symbol</entry></row>
|
|
</thead>
|
|
<tbody>
|
|
<row><entry><keycap>p</keycap></entry><entry>odtwarzanie</entry></row>
|
|
<row><entry><keycap>s</keycap></entry><entry>stop</entry></row>
|
|
<row><entry><keycap>e</keycap></entry><entry>pauza</entry></row>
|
|
<row><entry><keycap>n</keycap></entry><entry>bez dźwięku</entry></row>
|
|
<row><entry><keycap>m</keycap></entry><entry>dźwięk mono</entry></row>
|
|
<row><entry><keycap>t</keycap></entry><entry>dźwięk stereo</entry></row>
|
|
<row><entry><keycap>f</keycap></entry><entry>strumień z pliku</entry></row>
|
|
<row><entry><keycap>v</keycap></entry><entry>strumień z Video CD</entry></row>
|
|
<row><entry><keycap>d</keycap></entry><entry>strumień z DVD</entry></row>
|
|
<row><entry><keycap>u</keycap></entry><entry>strumień z URL</entry></row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="skin-gui">
|
|
<title>Sygnały GUI</title>
|
|
<para>
|
|
Tutaj znajdują się sygnały, które mogą być generowane przez przyciski, suwaki
|
|
i elementy menu.
|
|
</para>
|
|
|
|
<variablelist>
|
|
<title>Kontrola odtwarzania :</title>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evNext</emphasis></term>
|
|
<listitem><para>
|
|
Przejdź do następnej pozycji na liście odtwarzania.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evPause</emphasis></term>
|
|
<listitem><para>
|
|
Tworzy przełącznik razem z <literal>evPlaySwitchToPause</literal>.
|
|
Mogą być użyte do utworzenia wspólnego przycisku odtwarzania/pauzy.
|
|
Oba sygnały powinny być powiązane z przyciskami wyświetlonymi na tej samej
|
|
pozycji w oknie. Sygnał ten wstrzymuje odtwarzanie i wyświetla obrazek dla
|
|
przycisku <literal>evPlaySwitchToPause</literal> (aby zaznaczyć,
|
|
że przycisk ten może być użyty do kontynuowania odtwarzania).
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evPlay</emphasis></term>
|
|
<listitem><para>
|
|
Rozpocznij odtwarzanie.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
|
|
<listitem><para>
|
|
Przeciwieństwo <literal>evPauseSwitchToPlay</literal>. Ten sygnał zaczyna
|
|
odtwarzanie oraz wyświetla obrazek dla przycisku
|
|
<literal>evPauseSwitchToPlay</literal> (aby zaznaczyć, że przycisk ten może być
|
|
użyty ponownie do wstrzymania odtwarzania).
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evPrev</emphasis></term>
|
|
<listitem><para>
|
|
Przejdź do poprzedniej pozycji na liście odtwarzania.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evStop</emphasis></term>
|
|
<listitem><para>
|
|
Zatrzymaj odtwarzanie.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<variablelist>
|
|
<title>Przewijanie:</title>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evBackward10sec</emphasis></term>
|
|
<listitem><para>
|
|
Przewiń do tyłu o 10 sekund.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evBackward1min</emphasis></term>
|
|
<listitem><para>
|
|
Przewiń do tyłu o 1 minutę.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evBackward10min</emphasis></term>
|
|
<listitem><para>
|
|
Przewiń do tyłu o 10 minut.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evForward10sec</emphasis></term>
|
|
<listitem><para>
|
|
Przewiń do przodu o 10 sekund.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evForward1min</emphasis></term>
|
|
<listitem><para>
|
|
Przewiń do przodu o 1 minutę.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evForward10min</emphasis></term>
|
|
<listitem><para>
|
|
Przewiń do przodu o 10 minut..
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evSetMoviePosition</emphasis></term>
|
|
<listitem><para>
|
|
Przewiń do pozycji (może być wykorzystane przez suwak;
|
|
użyte są względne wartości (0-100%) suwaka).
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<variablelist>
|
|
<title>Kontrola video:</title>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evHalfSize</emphasis></term>
|
|
<listitem><para>
|
|
Ustawia okno filmu na połowę rozmiaru.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evDoubleSize</emphasis></term>
|
|
<listitem><para>
|
|
Ustaw podwójny rozmiar okna z filmem.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evFullScreen</emphasis></term>
|
|
<listitem><para>
|
|
Włącz/wyłącz tryb pełnoekranowy.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evNormalSize</emphasis></term>
|
|
<listitem><para>
|
|
Ustaw typowy rozmiar okna z filmem.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<variablelist>
|
|
<title>Kontrola dźwięku:</title>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
|
|
<listitem><para>
|
|
Zmniejsz opóźnienie bufora dźwięku.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evDecBalance</emphasis></term>
|
|
<listitem><para>
|
|
Zmniejsz balans.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evDecVolume</emphasis></term>
|
|
<listitem><para>
|
|
Zmniejsz głośność
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
|
|
<listitem><para>
|
|
Zwiększ opóźnienie bufora dźwięku.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evIncBalance</emphasis></term>
|
|
<listitem><para>
|
|
Zwiększ balans.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evIncVolume</emphasis></term>
|
|
<listitem><para>
|
|
Zwiększ głośność.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evMute</emphasis></term>
|
|
<listitem><para>
|
|
Wycisz/przywróć dźwięk.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evSetBalance</emphasis></term>
|
|
<listitem><para>
|
|
Ustawi balans (może być używane przez suwak;
|
|
używana jest wartość względna (0-100%)).
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evSetVolume</emphasis></term>
|
|
<listitem><para>
|
|
Ustaw głośność (może być używane przez suwak;
|
|
używana jest wartość względna (0-100%)).
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<variablelist>
|
|
<title>Różne:</title>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evAbout</emphasis></term>
|
|
<listitem><para>
|
|
Otwórz okno "o programie".
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evDropSubtitle</emphasis></term>
|
|
<listitem><para>
|
|
Wyłącz aktualnie używane napisy.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evEqualizer</emphasis></term>
|
|
<listitem><para>
|
|
Włącz/wyłącz korektor.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evExit</emphasis></term>
|
|
<listitem><para>
|
|
Wyłącz program.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evIconify</emphasis></term>
|
|
<listitem><para>
|
|
Minimalizuj okno.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evLoad</emphasis></term>
|
|
<listitem><para>
|
|
Wczytaj plik (poprzez otwarcie okna przeglądarki plików, gdzie możesz wybrać
|
|
plik).
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evLoadPlay</emphasis></term>
|
|
<listitem><para>
|
|
Tto samo co <literal>evLoad</literal>, ale zacznij automatycznie odtwarzać
|
|
zaraz po wyborze pliku.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evLoadSubtitle</emphasis></term>
|
|
<listitem><para>
|
|
Wczytaj plik z napisami (z przeglądarki plików).
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evLoadAudioFile</emphasis></term>
|
|
<listitem><para>
|
|
Wczytaj plik dźwiękowy (z przeglądarki plików).
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evNone</emphasis></term>
|
|
<listitem><para>
|
|
Sygnał pusty - nic nie robi (może za wyjątkiem wersji z Subversion:-)).
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evPlaylist</emphasis></term>
|
|
<listitem><para>
|
|
Otwórz/zamknij okno listy odtwarzania.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evPlayDVD</emphasis></term>
|
|
<listitem><para>
|
|
Spróbuj odczytać płytę ze wskazanego czytnika DVD.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evPlayVCD</emphasis></term>
|
|
<listitem><para>
|
|
Spróbuj odczytać płytę ze wskazanego czytnika CD.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evPreferences</emphasis></term>
|
|
<listitem><para>
|
|
Otwórz okno z ustawieniami.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evSetAspect</emphasis></term>
|
|
<listitem><para>
|
|
Ustaw proporcje obrazu.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evSetURL</emphasis></term>
|
|
<listitem><para>
|
|
Wyświetl okienko dialogowe URL.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">evSkinBrowser</emphasis></term>
|
|
<listitem><para>
|
|
Otwórz okno przeglądarki skórek.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="skin-quality">
|
|
<title>Tworzenie dobrych skórek</title>
|
|
|
|
<para>
|
|
Wygląda na to, że przeczytałeś o tworzeniu skórek
|
|
dla GUI <application>MPlayera</application>, dałeś z siebie
|
|
wszystko używając <application>Gimpa</application>
|
|
i chciałbyś umieścić u nas swoją skórkę?
|
|
Zapoznaj się z kilkoma wytycznymi, żeby uniknąć najczęstszych pomyłek
|
|
i stworzyć skórkę wysokiej jakości.
|
|
</para>
|
|
|
|
<para>
|
|
Chcemy aby skórki, które dodajemy do naszego repozytorium,
|
|
spełniały określone standardy jakości. Istnieje również kilka rzeczy,
|
|
które możesz zrobić, żeby ułatwić sobie życie.
|
|
</para>
|
|
|
|
<para>
|
|
Jako wzorzec możesz wziąć skórkę <systemitem>Blue</systemitem>,
|
|
od wersji 1.5 spełnia one wszystkie wymienione niżej kryteria.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>Do każdej skórki powinien być dołączony plik
|
|
<filename>README</filename> zawierający informacje
|
|
o tobie, czyli autorze, prawach autorskich i licencji i wszystkie
|
|
inne informacje, które zechcesz dodać. Jeżeli chcesz prowadzić
|
|
listę zmian, ten plik jest na to dobrym miejscem.</para></listitem>
|
|
|
|
<listitem><para>Należy dodać plik <filename>VERSION</filename>
|
|
zawierający tylko i wyłącznie wersję skórki zapisaną w jednej linii (np. 1.0)
|
|
</para></listitem>
|
|
|
|
<listitem><para>Poziome i pionowe kontrolki (suwaki do zmiany głośności
|
|
albo pozycji) powinny mieć gałki prawidłowo wycentrowane na środku
|
|
suwaka. Powinno się dać przesunąć gałkę na oba końce suwaka, ale nie
|
|
poza jego obszar.</para></listitem>
|
|
|
|
<listitem><para>Elementy skórki powinny mieć prawidłowo zadeklarowane
|
|
rozmiary w pliku skórki. W przeciwnym wypadku możliwe będzie
|
|
kliknięcie poza obszarem np. przycisku i jego naciśnięcia
|
|
lub kliknięcie wewnątrz obszaru przycisku i nie naciśnięcie go.
|
|
</para></listitem>
|
|
|
|
<listitem><para>Plik <filename>skin</filename> powinien być
|
|
ładnie sformatowany i nie powinien zawierać tabulacji. Ładnie
|
|
sformatowany, czyli taki w którym numery są ładnie ustawione
|
|
w kolumnach.</para></listitem>
|
|
</itemizedlist>
|
|
|
|
</sect1>
|
|
|
|
</appendix>
|