diff options
author | mpt <mpt@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-03-22 17:33:06 +0000 |
---|---|---|
committer | mpt <mpt@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-03-22 17:33:06 +0000 |
commit | f3e98ee6f0867ab04b7730fd0d2ac3c7773a9d01 (patch) | |
tree | ecbdd4729184be6e9e68cdc1e3b0a3bd46fc022c /DOCS | |
parent | 4190369ce1b6917b84dc9bbf88e23edeeceeb336 (diff) | |
download | mpv-f3e98ee6f0867ab04b7730fd0d2ac3c7773a9d01.tar.bz2 mpv-f3e98ee6f0867ab04b7730fd0d2ac3c7773a9d01.tar.xz |
new wersion, some fixes, synced to rc4 version
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9652 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS')
-rw-r--r-- | DOCS/pl/skin.html | 1584 |
1 files changed, 659 insertions, 925 deletions
diff --git a/DOCS/pl/skin.html b/DOCS/pl/skin.html index 6a030e2de6..83a103857a 100644 --- a/DOCS/pl/skin.html +++ b/DOCS/pl/skin.html @@ -1,1064 +1,798 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> + <head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> - <title>MPlayer skin format</title> -<style type="text/css"> -em.note {color: green} -em.warn {color: red} -</style> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> + <title>Tworzenie Skórek - MPlayer - Odtwarzacz Filmów dla Linuksa</title> + <link rel="stylesheet" type="text/css" href="../default.css"> + <style type="text/css"> + em.note {color: green; + font-style: normal;} + em.warn {color: red; + font-style: normal;} + </style> </head> -<body text="#000000" bgcolor="#FFFFFF"> -<center> -<h1> -Format skór MPlayera</h1></center> +<body> -<center> -<h1> +<h1>Dodate D - Format skórek MPlayera</h1> -<hr></h1></center> +<p>Celem tej dokumentacji jest opisanie formatu skór MPlayera. Informacje zawarte + w tym dokumencie mogą być błędne, ponieważ:</p> -<h2> -Zawartość</h2> +<ol type="a"> + <li>To nie ja napisałem GUI.</li> + <li>GUI nie jest skończone.</li> + <li>Mogę się mylić.</li> +</ol> -<ul type=disc> -<li> -<a href="#intro">1 Wstęp</a></li> +<p>Więc nie bądź zaskoczony jeżeli coś nie będzie działało w sposób w jaki zostało tutaj opisane.</p> -<li> -<a href="#overview">2 Omówienie</a></li> +<p>Podziękowania dla <em>Zoltán Ponekker</em> za jego pomoc.</p> -<ul type=circle> -<li> -<a href="#dirs">2.1 Katalogi</a></li> +<p><em>András Mohari <mayday@freemail.hu></em></p> -<li> -<a href="#images">2.2 Obrazki</a></li> -<li> -<a href="#parts">2.3 Części skóry</a></li> +<h2><a name="overview">D.1 Przedmowa</a></h2> -<li> -<a href="#files">2.4 Pliki</a></li> -</ul> +<p>To nie ma tak naprawdę żadnego związku z formatem skór, ale powinieneś wiedzieć, + że MPlayer <B>nie</B> ma wbudowanej skórki, więc musisz <B>mieć zainstalowaną chociaż + jedną skórę, aby mieć możliwość używania GUI.</B></p> -<li> -<a href="#skin">3 Plik <tt>skin</tt></a></li> -<ul type=circle> -<li> -<a href="#mainwin">3.1 Główne okno</a></li> +<h3><a name="directories">D.1.1 Katalogi</a></h3> -<li> -<a href="#subwindow">3.2 Okno ekranu</a></li> +<p>Katalogi przeszukiwane przez MPlayera w poszukiwaniu skór to (w kolejności szukania):</p> -<li> -<a href="#skinmenu">3.3 Menu skóry</a></li> -</ul> +<pre> + $(DATADIR)/Skin/ + $(PREFIX)/share/mplayer/Skin/ + ~/.mplayer/Skin/ +</pre> -<li> -<a href="#fonts">4 Fonty</a></li> +<p>Zauważ, że pierwsza ścieżka może być zależna od tego, jak MPlayer został skonfigurowany + podczas kompilacji (zobacz argumenty <code>--prefix</code> i <code>--datadir</code> + skryptu <code>configure</code>).</p> -<ul type=circle> -<li> -<a href="#symbols">4.1 Symbole</a></li> -</ul> +<p>Każda skórka jest zainstalowana w swoim własnym katalogu znajdującym się w jednym + z folderów wymienionych powyżej, na przykład:</p> -<li> -<a href="#guimsg">Dodatek A: sygnały GUI</a></li> -</ul> +<pre> + $(PREFIX)/share/mplayer/Skin/default/ +</pre> -<hr> -<center>Ostatnia modyfikacja: Sep 10, 2001 -<br>Ostatnia modyfikacja w języku polskim: 29 marca 2002</center> - -<hr> -<h2> -<a NAME="intro"></a>1 Wstęp</h2> -Celem tej dokumentacji jest opisanie formatu skór MPlayera. Informacje zawarte -w tym dokumencie mogą być błędne, ponieważ: -<br><i>a)</i> to nie ja napisałem GUI -<br><i>b)</i> Gui nie jest skończony -<br><i>c)</i> Mogę się mylić, więc nie bądź zaskoczony jeżeli coś nie będzie -działało w sposób w jaki zostało tutaj opisane. -<p>Podziękowania dla <i>Zoltán Ponekker</i> za pomoc. -<p><i>András Mohari <mayday@freemail.hu></i> -<p><i>Tłumaczenie na język polski:</i> -<br><i>CyberPe <cyberp@silesianet.pl></i> -<br>Wszystkie uwagi i pomysły dotyczące tego tłumaczenia są mile widziane. -W temacie proszę podać "Mplayer". -<h2> -<a NAME="overview"></a>2 Omówienie</h2> -To nie ma tak naprawdę żadnego związku z formatem skór, ale powinieneś -wiedzieć, że MPlayer <b>nie ma</b> wbudowanej skórki, więc <b>musisz mieć -zainstalowaną chociaż jedną skórę, aby mieć możliwość używania GUII</b>. -<h3> -<a NAME="dirs"></a>2.1 Katalogi</h3> -Katalogi przeszukiwane przez MPlayera w poszukiwaniu skór to (w kolejności -szukania): -<pre> /usr/local/share/mplayer/Skin/ - ~/.mplayer/Skin/</pre> -Zauważ, że pierwsza ścieżka może być zależna od tego, jak MPlayer został -skonfigurowany podczas kompilacji (zobacz argument "<tt>--datadir" skryptu -konfiguracyjnego</tt>). -<p>Każda skórka jest zainstalowana w swoim własnym katalogu znajdującym -się w jednym z folderów zwymienionych powyżej, na przykład: -<pre> /usr/local/share/mplayer/Skin/default/</pre> - -<h3> -<a NAME="images"></a>2.2 Formaty plików graficznych</h3> -Obrazki muszą być w formacie truecolor (24, albo 32 bity) i mogą być zapisane -jako BMP, PNG i TGA (z tym, że obrazki zapisane jako TGA nie mogą być skompresowane). -Preferowany format to PNG, ponieważ ma on bardzo dobry współczynnik kompresji, -a co za tym idzie, obrazki zajmują mniej miejsca. -<p>W głównym oknie (zobacz niżej) możesz używać obrazków z 'przeźroczystością': -obszary wypełnione przy użyciu koloru #FF00FF (<font color="#FF00FF">magenta</font>) -są dla MPlayera w pełni przeźroczyste. Oznacza to, że możesz używać dowolnych -kształtów okna głównego (np. okrągłych), jeżeli tylko twój X serwer posiada -rozszerzenie XShape. -<h3> -<a NAME="parts"></a>2.3 Części skóry</h3> -Skórki są całkowicie konfigurowalne (w przeciwieństwie np. do skór Winampa/XMMS) -(chodzi o to, że możesz umieścić dowolny przycisk np. 'play' w dowolnym -miejscu swojej skóry, format XMMSa i Winampa ma z góry ustalone położenie -każdego elementu i nie można tego zmienić - przyp. tłumacza), więc tylko -od ciebie zależy czy stworzysz coś naprawdę fajnego. -<p>Na dzień dzisiejszy są trzy okna do skonfigurowania: <a href="#mainwin">okno -główne</a> (main window), <a href="#subwindow">okno ekranu</a> (subwindow) -oraz <a href="#skinmenu">menu skóry</a> (skin menu), które może zostać -uaktywnione poprzez naciśnięcie prawego przycisku myszy. -<ul> -<li> -<b>okno główne</b> - to okno w którym kontrolujesz MPlayera. Tło tego okna -jest obrazkiem. Wszystkie elementy muszą być umieszczone w tym oknie: przyciski -(buttons), potencjometry (albo suwaki, jeżeli bardziej ci odpowiada ta -nazwa) oraz etykiety (labels). Dla każdego elementu musisz określić jego -pozycję oraz rozmiar.</li> - -<p>Każdy <b>przycisk</b> ma trzy fazy (wciśnięty, uwolniony oraz nieaktywny), -więc ich obrazki muszą być podzielone na trzy części w pionie. Zobacz sekcję -<a href="#main.button">przyciski</a>, -aby uzyskać więcej informacji. -<p><b>potencjometry </b>(zazwyczaj używane do określania pozycji filmu -(seek bar) oraz do kontroli głośności, balansu dźwięku) mogą posiadać dowolną -liczbę faz poprzez umieszczenie każdej następnej fazy pod poprzednią (w -obrazku) <font size=-1>(to nie jest za dobrze przetłumaczone-przyp. tłumacz)</font>.Zobacz -sekcję -<a href="#main.hpotmeter">hpotmeter</a> i <a href="#main.potmeter">potmeter</a>, -aby dowiedzieć się więcej na ten temat. -<p><b>Etykiety </b>są bardzo specyficzne: znaki służące do ich opisania -są brane z osobnego obrazka, a litery, które są w nim zawarte (w pliku -graficznym) są opisane przez <a href="#fonts">plik opisujący fonty</a>. -Jest to plik tekstowy, który określa pozycję x, y oraz rozmiar każdego -symbolu znajdującego się w obrazku. (a więc "plik graficzny z fontami" -i "plik opisujący fonty" tworzą razem fonty). Zobacz <a href="#main.dlabel">dlabel</a> -i <a href="#main.slabel">slabel</a>, po więcej szczegółów -<p><i><b>Uwaga:</b> wszystkie obrazki mogą posiadać przeźroczystość tak, -jak opisano to w sekcji <a href="#images">formaty plików graficznych</a>.</i> -<br> -<li> -<b>okno ekranu</b> <font size=-1>(niezbyt szczęśliwe tłumaczenie - przyp. -tłumacz)</font> - tutaj pojawia się film podczas odtwarzania. Może ono wyświetlać -określony obrazek jeżeli nie jest w danym momencie odgrywany żaden film -(to strasznie denerwujące mieć puste okno:-)) <i><b>Uwaga</b>: przeźroczystość -</i>jest tutaj <i><b>niedostępna</b>.</i></li> - -<br> -<li> -<b>menu skóry</b>- to po prostu jeden ze sposobów do kontrolowania MPlayera -poprzez polecenia z menu. Wymagane są tutaj dwa obrazki: pierwszy z nich -jest podstawowym obrazkiem pokazującym menu w "normalnym" stanie, drugi -natomiast jest używany do wyświetlania wybranych elementów. Kiedy aktywujesz -menu (poprzez prawe kliknięcie myszy) pokazywany jest pierwszy obrazek. -Kiedy najeżdżasz kursorem na którąś z pozycji, jej zaznaczenie jest kopiowane -z drugiego obrazka na obszar menu znajdujący się pod wskaźnikiem myszy -(a więc drugi obrazek nigdy nie jest pokazany w całości).</li> - -<br> </ul> - -<ul>Obszar menu znajdujący się pod kursorem jest zdefiniowany poprzez jego -pozycję i rozmiar w obrazku (zobacz sekcję <a href="#skinmenu">menu skóry</a> -aby dowiedzieć się więcej na ten temat)</ul> -Jest jeszcze jedna ważna rzecz, która nie została jeszcze wspomniana: dla -przycisków, potencjometrów i obszarów menu, MPlayer musi wiedzieć co ma -zrobić jeżeli zostaną one kliknięte. Zajmują się tym <a href="#guimsg">sygnały</a> -(zdarzenia). Dla wszystkich tych elementów muszą być zdefiniowane sygnały, -które mają zostać wywołane po naciśnięciu przycisku myszy. -<h3> -<a NAME="files"></a><i>2.4 Pliki</i></h3> -Aby stworzyć skórę będziesz potrzebował następujących plików. -<ul> -<li> -Plik konfiguracyjny o nazwie <a href="#skin">skin</a>, który informuje -MPlayera w jaki sposób łączyć ze sobą poszczególne części skóry i co ma -zrobić kiedy klikasz gdziesz w obszarze okna.</li> -<li> -Obrazek Tła do głównego okna.</li> +<h3><a name="images">D.1.2 Formaty obrazków</a></h3> -<li> -Obrazki dla elementów okna głównego (włączając w to jeden, albo więcej -plików opisujących fonty potrzebnych do wyświetlania etykiet)</li> +<p>Obrazki muszą to być PNG z głębią kolorów truecolor (24, albo 32 bity).</p> -<li> -Obrazek który ma być wyświetlony w oknie ekranu (opcjonalnie)</li> +<p>W głównym oknie i w pasku odtwarzania (zobacz niżej) możesz używać obrazków + z 'przeźroczystością': obszary wypełnione przy użyciu koloru #FF00FF + (<font color="#FF00FF">magenta</font>) są dla MPlayera w pełni przeźroczyste. + Oznacza to, że możesz używać dowolnych kształtów okna głównego, jeżeli + twój X serwer posiada rozszerzenie XShape.</p> -<li> -Dwa obrazki do menu skóry (są one potrzebne tylko jeśli chcesz stworzyć -takie menu)</li> -</ul> -Poza plikiem konfiguracyjnym skóry, możesz nazwać wszystkie inne pliki -jak tylko chcesz (ale pamiętaj, że plik opisujący fonty musi mieć rozszerzenie -.fnt). -<h2> -<a NAME="skin"></a>3 The <b><tt>skin</tt></b> file</h2> -Jak wspomniano powyżej jest to plik konfigurujący skórę. Potrafi on rozpoznawać -typy wierszy: wiersze komentarza rozpoczyna średnik, czyli ';' (przed nim -mogą znajdować się tylko spacje, lub "taby") -<p>Plik podzielony jest na sekcję. Każda z nich opisuje poszczególny element -skóry dla każdej z aplikacji i ma następującą postać: -<table BORDER WIDTH="100%" > -<tr BGCOLOR="#C0C0C0"> -<td> -<pre>section = section<i> name -</i>. -. -. -end</pre> -</td> -</tr> -</table> -<p>Na dzień dzisiejszy istnieje tylko jedna aplikacja, więc potrzebujesz -tylko jednej sekcji: jej nazwa to <b>movieplayer</b> (odtwarzacz filmów) -<p>W tej sekcji każde z okien jest opisane poprzez dany blok w taki sposób: -<table BORDER WIDTH="100%" > -<tr BGCOLOR="#C0C0C0"> -<td> -<pre>window = <i>window name -</i>. -. -. -end</pre> -</td> -</tr> -</table> -gdzie<i> window name </i>może być jednym z następujących bloków: -<ul> -<li> -<b>main</b> - dla głównego okna</li> +<h3><a name="components">D.1.3 Części skórki</a></h3> -<li> -<b>sub</b> - dla okna ekranu</li> +<p>Skórki są całkowicie konfigurowalne (w przeciwieństwie np. do skór Winampa/XMMS) + (chodzi o to, że możesz umieścić dowolny przycisk np. 'play' w dowolnym miejscu + swojej skóry, format XMMSa i Winampa ma z góry ustalone położenie każdego elementu + i nie można tego zmienić - przyp. tłumacza), więc tylko od ciebie zależy, + czy stworzysz coś naprawdę fajnego.</p> -<li> -<b>menu</b> - dla menu skóry.</li> -</ul> -(Blok sub i menu są opcjonalne-nie musisz tworzyć menu, ani dekorować okna -ekranu jeżeli nie chcesz.) -<p>W każdym z bloków możesz zdefiniować poszczególne elementy (items) dla -danego okna w sposób przedstawiony poniżej: -<blockquote> -<pre>item = parameter</pre> -</blockquote> -Gdzie <i>item </i>jest blokiem identyfikującym typ danego elementu GUI, -<i>parametr</i> -jest numeryczną, lub tekstową wartością (lub lstą wartości oddzieloną przecinkami). -<p>Łącząc to wszystko ze sobą, uzyskujemy plik wyglądający mniej więcej -tak: -<table BORDER WIDTH="100%" > -<tr BGCOLOR="#C0C0C0"> -<td> -<pre>section = movieplayer - window = main - ; ... elementy dla okna głównego ... - end - - window = sub - ; ... elementy dla okna ekranu ... - end - - window = menu - ; ... elementy dla menu skóry ... - end -end</pre> -</td> -</tr> -</table> +<p>Na dzień dzisiejszy są trzy okna do skonfigurowania: <a href="#mainwin">okno główne</a> + (main window), <a href="#subwindow">okno ekranu</a> (subwindow), + <a href="#mainwin">pasek odtwarzania</a> (playbar) oraz <a href="#skinmenu">menu skóry</a> + (skin menu) (które może zostać uaktywnione poprzez naciśnięcie prawego przycisku myszy).</p> -<p>Na koniec kila słów o specyfice obrazków dla różnych elementów. -<br>Nazwa obrazk musi być podana bez żadnych głównych katalogów---obrazki -są poszukiwane w katalogu ze skórką. Możesz (ale nie musisz) podać rozszerzenie -plików. Jeżeli plik nie istnieje, MPlayer próbuje załadować plik <i><nazwa -pliku>.<rozszerzenie></i> gdzie <i>tga, TGA, bmp, BMP, png i PNG</i> -są próbowane jako <i><rozszerzenie></i> (w tej kolejności) -<br>Wykorzystany zostanie pierwszy pasujący plik. -<table BORDER CELLPADDING=5 WIDTH="100%" > -<tr BGCOLOR="#FFFFCC"> -<td>Tutaj jest przykład, który powinien to wyjaśnić. Przypuśćmy, że masz -obrazek o nazwie <i>main.png</i>, który używasz do głównego okna: -<blockquote> -<pre> base = main, -1, -1</pre> -</blockquote> -MPlayer próbuje załadować <i>main, main.tga, main.TGA, main.BMP</i>, itd., -więc <i>main.png</i> zostanie znaleziony. -<br>Jeżeli (przez przypadek) napiszesz: -<blockquote> -<pre> base = main.bmp, -1, -1</pre> -</blockquote> -wtedy <i>main.bmp</i>, <i>main.bmp.tga</i>, <i>main.bmp.TGA</i>, -<i>main.bmp.bmp</i> -będą wyszukiwane i MPlayer w końcu się podda, ponieważ nie ma pliku <b>main.bmp</b> -w katalogu, ale <i>main.png.</i></td> -</tr> -</table> - -<h3> -<a NAME="mainwin"></a>3.1 Główne okno</h3> -Poniżej możesz zobaczyć listę elementów, które mogą być użyte w bloku '<tt>window -= main</tt>' . . . '<tt>end</tt>'. -<dl> -<dt> -<a NAME="main.base"></a><b>base = <i>obrazek, x, y</i></b></dt> +<ul> + <li><p><b>Okno główne</b> i/lub <b>pasek odtwarzania</b> to okno w którym kontrolujesz + MPlayera. Tło tego okna jest obrazkiem. Różne elementy mogą (i muszą) być umieszczone + w tym oknie: <em>przyciski</em> (buttons), <em>potencjometry</em> (suwaki, ang. potmeters, sliders) + i <em>etykiety</em> (labels). Dla każdego elementu musisz określić jego pozycję oraz rozmiar.</p> + + <p><b>Przycisk</b> ma trzy fazy (wciśnięty, uwolniony oraz nieaktywny), więc ich obrazki + muszą być podzielone na trzy części w pionie. Zobacz sekcję <a href="#main.button">przyciski</a>, + aby uzyskać więcej informacji.</p> + + <p><b>Potencjometry</b> (zazwyczaj używane do określania pozycji filmu (seek bar) oraz do + kontroli głośności/balansu dźwięku) mogą posiadać dowolną liczbę faz poprzez podzielenie + jego obrazka na części, gdzie następna faza jest poniżej poprzedniej. + Zobacz sekcję <a href="#main.hpotmeter">hpotmeter</a> i <a href="#main.potmeter">potmeter</a>, + aby dowiedzieć się więcej na ten temat.</p> + + <p><b>Etykiety</b> są bardzo specyficzne: znaki służące do ich opisania są + brane z poliku graficznego, a litery, które są w nim zawarte w pliku graficznym + są opisane przez <a href="#fonts">plik opisujący fonty</a>. Jest to plik tekstowy, + który określa pozycję x, y oraz rozmiar każdego symbolu znajdującego się w obrazku + (a więc "plik graficzny z fontami" i "plik opisujący fonty" tworzą <em>razem</em> fonty). + Zobacz <a href="#main.dlabel">dlabel</a> i <a href="#main.slabel">slabel</a>, + po więcej szczegółów.</p> + + <p><em class="note"><b>Informacja:</b> wszystkie obrazki mogą posiadać przeźroczystość tak, + jak opisano to w sekcji formaty <a href="#images">plików graficznych</a>. Jeżeli + serwer X nie obsługuje rozszerzenia XShape, część oznaczona jako przezroczysta, będzie + czarna. Jeżeli chcesz używać tej funkcji, szerokość obrazka tła głównego okna musi + być podzielna przez 8.</em></p> + </li> + + <li><b>Okno ekranu</b> - tutaj pojawia się film podczas odtwarzania. Może ono + wyświetlać określony obrazek jeżeli nie jest w danym momencie odgrywany żaden film + (to dość nudne mieć puste okno :-)) <em class=note><b>Informacja:</b> przeźroczystość + jest tutaj <b>niedostępna</b>.</em></li> + + <li><p><b># menu skóry</b> to po prostu jeden ze sposobów do kontrolowania MPlayera + poprzez polecenia z menu. Wymagane są tutaj dwa obrazki: pierwszy z nich jest + podstawowym obrazkiem pokazującym menu w "normalnym" stanie, drugi natomiast jest + używany do wyświetlania wybranych elementów. Kiedy aktywujesz menu pokazywany jest + pierwszy obrazek. Kiedy najeżdżasz kursorem na którąś z pozycji, jej zaznaczenie + jest kopiowane z drugiego obrazka na obszar menu znajdujący się pod wskaźnikiem myszy + (a więc drugi obrazek nigdy nie jest pokazany w całości).</p> + + <p>Obszar menu znajdujący się pod kursorem jest zdefiniowany poprzez jego pozycję + i rozmiar w obrazku (zobacz sekcję <a href="#skinmenu">menu skóry</a> aby dowiedzieć + się więcej na ten temat).</p> + </li> +</ul> -<dd> -Pozwala ci określić obrazek tła, który ma zostać użyty w głównym oknie. -Okno to pojawi się w określonej przez <i>x,y</i> pozycji na ekranie (0,0 -to lewy górny róg). Możesz tu użyć także następujących wartości: 1-dla -wyśrodkowania, 2 dla wyrównania do prawej (dla wartości x) i do dołu (dla -wartości y). Okno to będzie rozmiarów obrazka tła.</dd> +<p>Jest jeszcze jedna ważna rzecz, która nie została jeszcze wspomniana: dla przycisków, + potencjometrów i obszarów menu, MPlayer musi wiedzieć co ma zrobić jeżeli zostaną one + kliknięte. Zajmują się tym <a href="#guimsg">sygnały</a> (zdarzenia). Dla wszystkich + tych elementów muszą być zdefiniowane sygnały, które mają zostać wywołane po naciśnięciu + przycisku myszy.</p> -<p><i><b>Uwaga: </b>przeźroczyste obszary w obrazku (kolor #FF00FF) pojawiają -się jako czarny kolor w X serwerach, które nie obsługują rozszerzenia XShape.</i></dl> -<dl> -<dt> -<a NAME="main.button"></a><b>button = <i>obrazek, x, y, szerokość, wysokość, -sygnał</i></b></dt> - -<dd> -Umieszcza przycisk o rozmiarze <i>szerokość * wysokość</i> na pozycji <i>x,y</i>. -Określony sygnał jest generowany, kiedy przycisk zostanie kliknięty. Obrazek -określony jako <i>obrazek</i> musi być podzielony na trzy części umieszczone -jedna pod drugą (podzielony według możliwych faz przycisku), w ten sposób:</dd> - -<br> -<center><table> -<tr> -<td> -<pre><font size=-1>+------------+ -| wciśnięty | -+------------+ -| uwolniony | -+------------+ -| nieaktywny | -+------------+</font></pre> -</td> -</tr> -</table></center> -</dl> +<h3><a name="files">D.1.4 Pliki</a></h3> -<dl> -<dt> -<a NAME="main.decoration"></a><b>decoration = enable|disable</b></dt> +<p>Aby stworzyć skórę będziesz potrzebował następujących plików:</p> -<dd> -Włącza, lub wyłącza dekoracje okna (pasek tytułowy) twojego menadżera okien. -Domyślnie jest to <b>wyłączone</b>.</dd> -</dl> +<ul> + <li>Plik konfiguracyjny o nazwie<a href="#skin">skin</a>, który informuje + MPlayera w jaki sposób łączyć ze sobą poszczególne części skóry i co ma + zrobić kiedy klikasz gdziesz w obszarze okna.</li> + <li>Obrazek Tła do głównego okna.</li> + <li>Obrazki dla elementów okna głównego (włączając w to jeden, albo więcej + plików opisujących fonty potrzebnych do wyświetlania etykiet).</li> + <li>Obrazek który ma być wyświetlony w oknie ekranu (opcjonalnie).</li> + <li>Dwa obrazki do menu skóry (są one potrzebne tylko jeśli chcesz stworzyć takie menu).</li> +</ul> -<dl> -<dt> -<a NAME="main.hpotmeter"></a><b>hpotmeter = <i>suwak, szs,ws, fazy, liczbafaz, -domyślna, x, y, sz, w, sygnał</i></b></dt> +<p>Poza plikiem konfiguracyjnym skóry, możesz nazwać wszystkie inne pliki + jak tylko chcesz (ale pamiętaj, że plik opisujący fonty musi mieć rozszerzenie <code>.fnt</code>).</p> -<dd> -Umieszcza poziomo potencjometr o rozmiarach <i>sz*w</i> na pozycji <i>x,y</i>. -Obrazek może być podzielony na różne części dla różnych faz potencjometru -(np. możesz mieć potencjometr głośności, który zmienia się z zielonego -na czerwony podczas zmiany głośności z minimalnej do maksymalnej). hpotencjometr -może mieć przycisk który jest przesuwany w poziomie. Jego parametry to:</dd> -<ul> -<li> -<i>suwak</i> - obrazek który ma być użyty jako suwak (musi mieć trzy części -umieszczone jedna pod drugą, tak jak w przypadku <a href="#main.button">przycisku</a>)</li> +<h2><a name="skinfile">D.2 Plik skin</a></h2> -<li> -szs, ws - rozmiar suwaka</li> +<p>Jak wspomniano powyżej jest to plik konfigurujący skórę. Potrafi on rozpoznawać + typy wierszy: wiersze komentarza rozpoczyna średnik, czyli '<code>;</code>' + (przed nim mogą znajdować się tylko spacje, lub znaki tabulacji).</p> -<li> -<i>fazy</i> - obrazek który ma być użyty dla różnych faz hpotencjometru. -Obrazek musi być podzielony w pionie na <i>liczbęfaz</i> (zobacz poniżej). -Specjalna wartość <font size=-1>NULL</font> może być użyta jeżeli nie chcesz -żadnego obrazka.</li> +<p>Plik podzielony jest na sekcję. Każda z nich opisuje poszczególny element + skóry dla każdej z aplikacji i ma następującą postać:</p> -<li> -<i>liczbafaz</i> - liczba faz znajdująca się w obrazku z <i>fazami</i>.</li> +<table border="1" width="100%"> + <tr bgcolor="silver"> + <td> +<pre> +section = <i>section name</i> +. +. +. +end +</pre> + </td> + </tr> +</table> -<li> -<i>domyślna</i> - domyślna wartość dla hpotencjometru (w przedziale od -0 do 100)</li> +<p>Na dzień dzisiejszy istnieje tylko jedna aplikacja, więc potrzebujesz tylko jednej sekcji: + jej nazwa to <b>movieplayer</b> (odtwarzacz filmów).</p> -<li> -<i>x</i>, <i>y</i> - pozycja hpotencjometru</li> +<p>W tej sekcji każde z okien jest opisane poprzez dany blok w taki sposób:</p> -<li> -<i>sz, w</i> - szerokość i wysokość obszaru po którym może poruszać się -suwak.</li> +<table border="1" width="100%"> + <tr bgcolor="silver"> + <td> +<pre> +window = <i>window name</i> +. +. +. +end +</pre> + </td> + </tr> +</table> -<li> -<i>sygnał</i> - sygnał który ma być wywołany, kiedy zmienia się wartość -hpotnecjometru</li> +<p>gdzie <i>window name</i> może być jednym z następujących ciągów znaków:</p> -<p>Obrazek określający poszczególne fazy musi wyglądać w ten sposób: -<br> </ul> +<ul> + <li><b>main</b> - dla głównego okna</li> + <li><b>sub</b> - dla okna ekranu</li> + <li><b>menu</b> - dla menu skóry</li> + <li><b>playbar</b> - pasek odtwarzania</li> +</ul> -<center><table BORDER=0 > -<tr> -<td> -<pre><font size=-1>+------------+ -| faza #1 | -+------------+ -| faza #2 | -+------------+ - ... -+------------+ -| faza #n | -+------------+</font></pre> -</td> -</tr> -</table></center> -<i><b>Uwaga: </b>w przyszłości będzie teć vpotencjometr, ale nie został -on jeszcze zaimpletowany.</i></dl> +<p>(wpisy sub i menu są opcjonalne - nie musisz tworzyć menu, ani dekorować + okna ekranu jeżeli nie chcesz.)</p> -<dl> -<dt> -<a NAME="main.potmeter"></a><b>potmeter = <i>fazy, liczbafaz, domyślna, -x, y, sz, w, sygnał</i></b></dt> - -<dd> -Potencjometr bez suwaka. (Myślę, że chodzi tu o to żeby nim kręcić, ale -reaguje on tylko na poziome przesuwanie.) Aby zobaczyć opis parametrów -zobacz <a href="#main.hpotmeter">hpotmeter</a>. <i>fazy</i> mogą mieć wartość -<font size=-1>NULL</font> -(nic), ale jest to bezużyteczne, jeżeli nie możesz zobaczyć gdzie znajduje -się potencjometr.</dd> -</dl> +<p>W każdym z bloków możesz zdefiniować poszczególne elementy (items) dla danego + okna w sposób przedstawiony poniżej:</p> <dl> -<dt> -<a NAME="main.font"></a><b>font = <i>plikfontów, fontid</i></b></dt> - -<dd> -Definiuje fonty. <i>plikfontów</i> jest nazwą <i>pliku opisującego fonty</i> -z rozszerzeniem .fnt (<b>nie trzeba</b> tu określać rozszerzenia). <i>fontid</i> -jest używany do odsyłania do fontów (kiepskie tłumaczenie-przyp. tłumacz) -(zobacz <a href="#main.dlabel">dlabel</a> i <a href="#main.slabel">slabel</a>). -Możesz określić ponad 25 znaków.</dd> + <dt><b><code>item = parameter</code></b></dt> + <dd>Gdzie <code>item</code> jest ciągiem znaków identyfikującym typ danego + elementu GUI, parametr jest numeryczną, lub tekstową wartością + (lub listą wartości oddzieloną przecinkami).</dd> </dl> -<dl> -<dt> -<a NAME="main.dlabel"></a><b>dlabel = <i>x, y, długość, align, fontid, -"text"</i></b></dt> - -<dd> -Umieszcza dynamiczne etykiety na pozycji x,y. Etykieta nazywana jest dynamiczną, -ponieważ tekst w niej jest regularnie odświeżany (coś jak okno z tytułem -utworu w Winampie-przyp. tłumacz). Maksymalna długość etykiety jest ustalona -przez <i>długość</i> (jej wysokość jest wysokością fontów). Jeżeli tekst -który ma być wyświetlony jest dłuższy od tej wartości, wtedy będzie on -skrolowany (przesuwany-tak jak w XMMS/Winamp-przyp.tłumacz), w innym przypadku -będzie on wyrównany do określonej przez <i>align</i> (wyrównanie) przestrzeni.0 -dla wyrównania do prawej, 1 dla wyśrodkowania, 2 dla wyrównania do lewej.</dd> - -<p>Tekst, który ma zostać wyświetlony jest określony przez <i>text</i>: -musi być on opisany w cudzysłowiu (") (ale " nie może być częścią tekstu). -Etykieta jest wyświetlana używając <i>fontid</i>. Możesz użyć poniższych -zmiennych w tekście: -<br> -<center><table BORDER valign="top" > -<tr ALIGN=CENTER> -<th>Zmienna</th> - -<th ALIGN=LEFT>Znaczenie</th> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$1</tt></td> - -<td>odtwarza czas w formacie <i>hh:mm:ss</i></td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$2</tt></td> - -<td>odtwarza czas w formacie <i>mmmm:ss</i></td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$3</tt></td> - -<td>odtwarza czas w formacie <i>hh</i> (godziny)</td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$4</tt></td> - -<td>odtwarza czas w formacie <i>mm</i> (minuty)</td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$5</tt></td> - -<td>odtwarza czas w formacie <i>ss</i> (sekundy)</td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$6</tt></td> - -<td>wyświetla długość filmu w formacie <i>hh:mm:ss</i></td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$7</tt></td> - -<td>wyświetla długość filmu w formacie <i>mmmm:ss</i></td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$8</tt></td> - -<td>odtwarza czas w formacie <i>h:mm:ss</i></td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$v</tt></td> - -<td>głośność w formacie <i>xxx.xx%</i></td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$V</tt></td> - -<td>głośność w formacie <i>xxx.x</i></td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$b</tt></td> - -<td>balans w formacie <i>xxx.xx%</i></td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$B</tt></td> - -<td>balans w formacie <i>xxx.x</i></td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$$</tt></td> - -<td>znaczek <tt>$</tt></td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$a</tt></td> - -<td>znak określający typ dźwięku (żaden: <tt>n</tt>, mono: <tt>m</tt>, -stereo: <tt>t</tt>)</td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$t</tt></td> - -<td>Numer ścieżki (w playliście)</td> -</tr> - -<tr> -<td ALIGN=CENTER><tt>$o</tt></td> +<p>Łącząc to wszystko ze sobą, uzyskujemy plik wyglądający mniej więcej tak:</p> + +<table border="1" width="100%"> + <tr bgcolor="silver"> + <td> +<pre> +section = movieplayer + window = main + ; ... elementy dla okna głównego ... + end + + window = sub + ; ... elementy dla okna ekranu ... + end + + window = menu + ; ... elementy dla menu skóry ... + end + + window = playbar + ; ... elementy dla paska odtwarzania ... + end +end +</pre> + </td> + </tr> +</table> -<td>nazwa pliku</td> -</tr> +<p>Nazwa obrazk musi być podana bez żadnych głównych katalogów - obrazki są + poszukiwane w katalogu ze <code>skórką</code>. Możesz (ale nie musisz) podać + rozszerzenie plików. Jeżeli plik nie istnieje, MPlayer próbuje załadować plik + <code><nazwa pliku>.<rozszerzenie></code>, gdzie <code>png</code> + i <code>PNG</code> są próbowane jako <code><rozszerzenie></code> (w tej + kolejności). Wykorzystany zostanie pierwszy pasujący plik.</p> + +<p>Na koniec kilka słów o pozicjonowaniu. Główne okno i okno ekranu mogą + być umieszczone w różnych narożnikach ekranu poprzez podanie parametrów + <code>X</code> i <code>Y</code>. <code>0</code> jest górą lub lewą stroną, + <code>-1</code> wyśrodkowuje, a <code>-2</code> jest dołem lub prawą stroną, + jak pokazano na ilustracji:</p> + +<pre> + +(0, 0)----(-1, 0)----(-2, 0) + | | | + | | | +(0,-1)----(-1,-1)----(-2,-1) + | | | + | | | +(0,-2)----(-1,-2)----(-2,-2) + +</pre> + +<table border="1" cellpadding="5" width="100%"> + <tr bgcolor="#ffffcc"> + <td>Tutaj jest przykład, który powinien to wyjaśnić. Przypuśćmy, że masz obrazek + o nazwie <code>main.png</code>, który używasz do głównego okna: + <blockquote> + <code>base = main, -1, -1</code> + </blockquote> + MPlayer próbuje załadować <code>main</code>, <code>main.png</code>, + <code>main.PNG</code>. + </td> + </tr> +</table> -<tr> -<td ALIGN=CENTER><tt>$f</tt></td> -<td>nazwa pliku małymi literami</td> -</tr> +<h3><a name="mainwindow">D.2.1 Okno główne i pasek odtwarzania</a></h3> -<tr> -<td ALIGN=CENTER><tt>$F</tt></td> +<p>Poniżej możesz zobaczyć listę elementów, które mogą być użyte w bloku + '<code>window = main</code>' . . . '<code>end</code>', i w + '<code>window = playbar</code>' . . '<code>end</code>'.</p> -<td>nazwa pliku drukowanymi literami</td> -</tr> +<dl> + <dt><a name="main.base"><b><code>base = obrazek, X, Y</code></b></a></dt> + <dd>Pozwala ci określić obrazek tła, który ma zostać użyty w głównym oknie. +Okno to pojawi się w określonej przez <code>x,y</code> pozycji na ekranie. +Okno to będzie rozmiarów obrazka tła. + <div><em class="warn"><b>Informacja:</b> Te parametry narazie nie działają + dla okna ekranu.</em></div> + <div><em class="warn"><b>Ostrzeżenie:</b> przeźroczyste obszary w obrazku + (kolor #FF00FF) pojawiają się jako czarny kolor w X serwerach, które nie + obsługują rozszerzenia XShape.</em></div> + </dd> + + <dt><a name="main.button">< |