Mercurial > mplayer.hg
view DOCS/pl/skin.html @ 9367:f107fcf6fdea
10l
author | jonas |
---|---|
date | Sun, 09 Feb 2003 13:13:00 +0000 |
parents | a604236b0dd6 |
children | 97fafb7eed88 |
line wrap: on
line source
<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> </head> <body text="#000000" bgcolor="#FFFFFF"> <center> <h1> Format skór MPlayera</h1></center> <center> <h1> <hr></h1></center> <h2> Zawartość</h2> <ul type=disc> <li> <a href="#intro">1 Wstęp</a></li> <li> <a href="#overview">2 Omówienie</a></li> <ul type=circle> <li> <a href="#dirs">2.1 Katalogi</a></li> <li> <a href="#images">2.2 Obrazki</a></li> <li> <a href="#parts">2.3 Części skóry</a></li> <li> <a href="#files">2.4 Pliki</a></li> </ul> <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> <li> <a href="#subwindow">3.2 Okno ekranu</a></li> <li> <a href="#skinmenu">3.3 Menu skóry</a></li> </ul> <li> <a href="#fonts">4 Fonty</a></li> <ul type=circle> <li> <a href="#symbols">4.1 Symbole</a></li> </ul> <li> <a href="#guimsg">Dodatek A: sygnały GUI</a></li> </ul> <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> <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> 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> <li> <b>sub</b> - dla okna ekranu</li> <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 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> <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><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> <dl> <dt> <a NAME="main.decoration"></a><b>decoration = enable|disable</b></dt> <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> <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> <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> <li> szs, ws - rozmiar suwaka</li> <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> <li> <i>liczbafaz</i> - liczba faz znajdująca się w obrazku z <i>fazami</i>.</li> <li> <i>domyślna</i> - domyślna wartość dla hpotencjometru (w przedziale od 0 do 100)</li> <li> <i>x</i>, <i>y</i> - pozycja hpotencjometru</li> <li> <i>sz, w</i> - szerokość i wysokość obszaru po którym może poruszać się suwak.</li> <li> <i>sygnał</i> - sygnał który ma być wywołany, kiedy zmienia się wartość hpotnecjometru</li> <p>Obrazek określający poszczególne fazy musi wyglądać w ten sposób: <br> </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> <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> <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> </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> <td>nazwa pliku</td> </tr> <tr> <td ALIGN=CENTER><tt>$f</tt></td> <td>nazwa pliku małymi literami</td> </tr> <tr> <td ALIGN=CENTER><tt>$F</tt></td> <td>nazwa pliku drukowanymi literami</td> </tr> <tr> <td ALIGN=CENTER><tt>$T</tt></td> <td>znak określający typ strumienia (plik: <tt>f</tt>, video CD: <tt>v</tt>, DVD: <tt>d</tt>, URL: <tt>u</tt>) </td> </tr> <tr> <td ALIGN=CENTER><tt>$p</tt></td> <td>znak "p" (jeżeli film jest odgrywany i font ma określony symbol "p") </td> </tr> <tr> <td ALIGN=CENTER><tt>$s</tt></td> <td>znak "s" (jeżeli film jest zatrzymany i font ma określony symbol "s") </td> </tr> <tr> <td ALIGN=CENTER><tt>$e</tt></td> <td>znak "e" (jeżeli włączona jest pauza i font ma określony symbol "e") </td> </tr> </table></center> <b>Uwaga: </b>Zmienne <font size=-1>$a, $T, $p, $s i $e</font> mają znaki które powinny być wyświetlane jako znaki specjalne (np. "e" jest symbolem pauzy wyglądającym zazwyczaj tak <b><tt>||</tt></b> ). Powinieneś mieć fonty dla normalnych znaczków i osobne dla znaków specjalnych. Zobacz sekcję <a href="#symbols">symbols</a> , aby dowiedzieć się więcej.</dl> <dl> <dt> <a NAME="main.slabel"></a><b>slabel = <i>x, y, fontid, text</i></b></dt> <dd> Umieszcza statyczną etykietę na pozycji <i>x,y</i>. <i>text</i> jest wyświetlany używając <i>fontid</i>. Text jest po prostu ciągiem (zmienne $x nie działają) który musi znajdować się w cudzysłowiu (" nie może być częścią tekstu). Etykieta jest wyświetlana używając <i>fontid</i>.</dd> </dl> <h3> <a NAME="subwindow"></a>3.2 Okno ekranu</h3> Poniżej możesz zobaczyć listę elementów, które mogą być użyte w bloku '<tt>window = sub</tt>' . . . '<tt>end</tt>'. <dl> <dt> <a NAME="sub.base"></a><b>base = <i>image, x, y, szerokość, wysokość</i></b></dt> <dd> Obrazek który ma być wyświetlony w tym oknie. Okno pojawi się w określonej przez ciebie pozycji <i>x,y</i> na ekranie (0,0 umieszcza obrazek w lewym górnym rogu). 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. <i>szerokość</i> i <i>wysokość</i> określa rozmiar okna. Te zmienne są opcjonalne (jeżeli ich nie będzie, okno będzie takich samych rozmiarów jak obrazek)</dd> </dl> <dl> <dt> <a NAME="sub.background"></a><b>background = <i>r, g, b</i></b></dt> <dd> Pozwala ci ustalić kolor tła. Jest to przydatne jeżeli obrazek jest mniejszy od okna (będzie on także wyświetlany dookoła okna ekranu w trybie pełnoekranowym-przyp. tłumacz). r, g i b określają czerwoną, zieloną i niebieską wartość koloru (każda z nich jest określona w przedziale od 0 do 255).</dd> </dl> <h3> <a NAME="skinmenu"></a>3.3 Menu Skóry</h3> Jak wspomnianow wcześniej, menu jest wyświtlane przy użyciu dwóch obrazków. "Normalny" stan menu jest brany z obrazka określonego jako <i>base</i>, podczas gdy zaznaczony obszar jest brany z obrazka określonego jako <i>selected</i>. Musisz zdefiniować pozycję i rozmiar każdego z elementów menu poprzez element <i>menu</i>. <p>Te elementy mogą zostać wykorzystane w bloku '<tt>window = menu</tt>' . . . '<tt>end</tt>': <dl> <dt> <a NAME="menu.base"></a><b>base = <i>obrazek</i></b></dt> <dd> Obrazek pokazujący normalny stan menu</dd> </dl> <dl> <dt> <a NAME="menu.selected"></a><b>selected = <i>obrazek</i></b></dt> <dd> Obrazek pokazujący zaznaczony stan menu.</dd> </dl> <dl> <dt> <a NAME="menu.menu"></a><b>menu = <i>x, y, szerokość, wysokość, sygnał</i></b></dt> <dd> Definiuje pozycję <i>x,y</i> i rozmiar poszczególnych elementów menu w obrazku. <i>sygnał</i> jest sygnałem, który ma być uaktywniony, kiedy klikniesz tą pozycję.</dd> </dl> <h2> <a NAME="fonts"></a>4 Fonty</h2> Tak jak wspomniano w sekcji o częściach skóry, fonty są zdefiniowane przez obrazek i <i>plik opisujący fonty</i>. Możesz umieścić znaki w dowolnym miejscu obrazka, ale upewnij się, że ich pozycja i rozmiar są dokładnie określone w <i>pliku opisującym fonty</i>. <p><i>Plik opisujący fonty</i> (z rozszerzeniem .fnt) może mieć linie komentarza rozpoczęte średnikiem '<tt>;</tt>'. Plik musi mieć tę linię: <blockquote> <pre>image = <i>obrazek</i></pre> </blockquote> gdzie <i>obrazek</i> jest nazwą pliku w którym znajdują się fonty (nie musisz podawać rozszerzenia). Po tej lini następuje opisanie poszczególnych znaków: <blockquote> <pre>"znak" = <i>x, y, sz, w</i></pre> </blockquote> Tutaj x i y określają pozycję <i>znaku</i> w obrazku (0,0 to lewy górny róg). sz i w to szerokość i wysokość znaku (oczywiście w pikselach). <p>Poniżej możesz zobaczyć przykład definiujący znaki A, B, C znajdujące się w pliku font.png: <table BORDER WIDTH="100%" > <tr BGCOLOR="#C0C0C0"> <td> <pre>; może być "font" zamiast "font.png" image = font.png ; Trzy znaki są wystarczające, aby zademonstrować jak to działa. :-) "A" = 0,0, 7,13 "B" = 7,0, 7,13 "C" = 14,0, 7,13</pre> </td> </tr> </table> <h3> <a NAME="symbols"></a>4.1 Symbole</h3> Niektóre znaki mają specjalne znaczenia kiedy są zmiennymi używanymi w <a href="#main.dlabel">dlabel</a>; te znaki są wyświetlane jako symbole. (np. kiedy odgrywasz strumień DVD, możesz wyświetlić fajne logo DVD zdefiniowane pod znakiem 'd'.) <p>Poniższa tabelka zawiera wszystkie znaki, które mogą być wykorzystane do wyświetlania symboli (i wymagają one osobnych fontów). <center><table> <tr> <th ALIGN=CENTER>Znak </th> <th ALIGN=LEFT>Symbol</th> </tr> <tr> <td ALIGN=CENTER><tt>p</tt></td> <td ALIGN=LEFT>odtwarzanie</td> </tr> <tr> <td ALIGN=CENTER><tt>s</tt></td> <td ALIGN=LEFT>stop</td> </tr> <tr> <td ALIGN=CENTER><tt>e</tt></td> <td ALIGN=LEFT>pauza</td> </tr> <tr> <td ALIGN=CENTER><tt>n</tt></td> <td ALIGN=LEFT>bez dźwięku</td> </tr> <tr> <td ALIGN=CENTER><tt>m</tt></td> <td ALIGN=LEFT>dźwięk mono</td> </tr> <tr> <td ALIGN=CENTER><tt>t</tt></td> <td ALIGN=LEFT>dźwięk mono</td> </tr> <tr> <td ALIGN=CENTER><tt>f</tt></td> <td ALIGN=LEFT>strumień jest plikiem</td> </tr> <tr> <td ALIGN=CENTER><tt>v</tt></td> <td ALIGN=LEFT>strumień to VideoCD</td> </tr> <tr> <td ALIGN=CENTER><tt>d</tt></td> <td ALIGN=LEFT>strumień to DVD</td> </tr> <tr> <td ALIGN=CENTER><tt>u</tt></td> <td ALIGN=LEFT>strumień to URL</td> </tr> </table></center> <b>Uwaga: </b>obecnie tylko 'p', 's', 'e', 'n', 'm' i 't' są wykorzystywane (W chwili gdy tłumaczona jest ta dokumentacja pozostałe opcje są już dostępne-przyp. tłumacz) <h2> <a NAME="guimsg"></a>Dodatek A: sygnały GUI</h2> These are the messages that can be generated by buttons, potmeters and menu entries. <br>Tutaj znajdują się sygnały które mogą zostać wywołane przez przyciski, potencjometry i elementy menu. <p><i><b>Uwaga:</b> niektóre z sygnałów mogą działać nieprawidłowo (albo w ogóle nie działać). Jak wiesz, GUI jest ciągle w fazie rozwoju.</i> <p><i>Opcje odgrywania:</i> <blockquote> <dl> <dt> <b>evNext</b></dt> <dd> Przeskakuje do następnej ścieżki z playlisty</dd> <dt> <b>evPause</b></dt> <dd> wstrzymuje odgrywanie.</dd> <dt> <b>evPauseSwitchToPlay</b></dt> <dd> Przełącza między sobą użuwając <i>evPlaySwitchToPause </i>(to niezbyt udane tłumaczenie-przyp. tłumacz). Może to zostać wykorzystane aby utworzyć jeden przycisk spełniający równocześnie funkcje odgrywania i pauzy. Oba sygnały powinny być przydzielone do przycisków wyświetlanych w tym samym miejscu w oknie. Ten sygnał wstrzymuje odtwarzanie i wyświetlany jest obrazek dla przycisku <i>evPlaySwitchToPause</i> (aby zaznaczyć, że ten przycisk może być wciśnięty, aby kontynuować odgrywanie).</dd> <dt> <b>evPlay</b></dt> <dd> Rozpoczyna odgrywanie.</dd> <dt> <b>evPlaySwitchToPause</b></dt> <dd> Przeciwieństwo <i>evPauseSwitchToPlay</i>. Ten sygnał rozpoczyna odgrywanie i wyświetlany jest obrazek dla przycisku <i>evPauseSwitchToPlay</i> (aby zaznaczyć, że ten przycisk może być wciśnięty, aby wstrzymać odgrywanie).</dd> <dt> <b>evPrev</b></dt> <dd> Przeskakuje do poprzedniej ścieżki z playlisty.</dd> <dt> <b>evStop</b></dt> <dd> Zatrzymuje odgrywanie.</dd> </dl> </blockquote> <i>Przemieszczanie się w strumieniu:</i> <blockquote> <dl> <dt> <b>evBackward10sec</b></dt> <dt> <b>evBackward1min</b></dt> <dt> <b>evBackward10min</b></dt> <dd> przesuwa w tył o 10 sekund / 1 minutę / 10 minut.</dd> <dt> <b>evForward10sec</b></dt> <dt> <b>evForward1min</b></dt> <dt> <b>evForward10min</b></dt> <dd> przesuwa w przód o 10 sekund / 1 minutę / 10 minut.</dd> <dt> <b>evSetMoviePosition</b></dt> <dd> ustawia pozycję (może być zmieniane za pomocą suwaka; wykorzystywane są relatywne (0-100%) wartości potencjometru).</dd> </dl> </blockquote> <i>Kontrola obrazu:</i> <blockquote> <dl> <dt> <b>evDoubleSize</b></dt> <dd> Ustawia podwójny rozmiar okna z filmem.</dd> <dt> <b>evFullScreen</b></dt> <dd> Włącza/wyłącza tryb pełnoekranowy.</dd> <dt> <b>evNormalSize</b></dt> <dd> Ustawia oryginalny rozmiar okna z filmem.</dd> </dl> </blockquote> <i>Kontrola Dźwięku:</i> <blockquote> <dl> <dt> <b>evDecAudioBufDelay</b></dt> <dd> Zmniejsza opóźnienie buffera dźwięku.</dd> <dt> <b>evDecBalance</b></dt> <dd> zmniejsza balans.</dd> <dt> <b>evDecVolume</b></dt> <dd> zmniejsza głośność.</dd> <dt> <b>evIncAudioBufDelay</b></dt> <dd> Zmniejsza opóźnienie buffera dźwięku.</dd> <dt> <b>evIncBalance</b></dt> <dd> zwiększa balans.</dd> <dt> <b>evIncVolume</b></dt> <dd> zwiększa głośność.</dd> <dt> <b>evMute</b></dt> <dd> Wycisza/włącza dźwięk..</dd> <dt> <b>evSetBalance</b></dt> <dd> Ustawia balans (może być używane przez suwak; wykorzystywane są relatywne (0-100%) wartości potencjometru).</dd> <dt> <b>evSetVolume</b></dt> <dd> Ustawia głośność (może być używane przez suwak; wykorzystywane są relatywne (0-100%) wartości potencjometru).</dd> </dl> </blockquote> <i>Różne:</i> <blockquote> <dl> <dt> <b>evAbout</b></dt> <dd> Otwiera okno "o programie".</dd> <dt> <b>evEqualizer</b></dt> <dd> włącza/wyłącza equalizer.</dd> <dt> <b>evExit</b></dt> <dd> Zamyka program.</dd> <dt> <b>evIconify</b></dt> <dd> Minimalizuje okno.</dd> <dt> <b>evLoad</b></dt> <dd> Wczytuje plik (poprzez otwarcie przeglądarki plików, w której możesz wybrać plik).</dd> <dt> <b>evLoadPlay</b></dt> <dd> Robi dokładnie to samo co <i>evLoad</i> z tym, że po wczytaniu pliku automatycznie rozpoczyna jego odtwarzanie.</dd> <dt> <b>evNone</b></dt> <dd> Pusty sygnał, nic nie robi. (No może nie dotyczy to wersji CVS :-))</dd> <dt> <b>evPlayList</b></dt> <dd> Otwiera/zamyka okno playlisty.</dd> <dt> <b>evPreferences</b></dt> <dd> Otwiera okno preferencji.</dd> <dt> <b>evSkinBrowser</b></dt> <dd> Otwiera okno z przeglądarką skórek..</dd> </dl> </blockquote> </body> </html>