Update to MPlayer SVN rev 34578.
[vaapi:mplayer.git] / DOCS / xml / pl / .svn / text-base / skin.xml.svn-base
1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- synced with r19081 -->
3 <!-- Opiekun: Flex -->
4 <appendix id="skin">
5 <title>Format skórki <application>MPlayera</application></title>
6
7 <sect1 id="skin-overview">
8 <title>Wstęp</title>
9 <para>
10 W zasadzie nie ma to żadnego związku z formatem skórki, ale powinieneś
11 wiedzieć, że <application>MPlayer</application> <emphasis role="bold">nie</emphasis>
12 ma wbudowanej skórki, w związku z tym <emphasis role="bold"> co najmniej
13 jedna skórka musi być zainstalowana, abyś miał możliwość korzystania z GUI.</emphasis>
14 </para>
15
16 <sect2 id="skin-overview-directories">
17 <title>Katalogi</title>
18 <para>
19 Skórki są szukane w następujących katalogach (w kolejności):
20 <orderedlist>
21 <listitem><para>
22 <filename class="directory">$(DATADIR)/skins/</filename>
23 </para></listitem>
24 <listitem><para>
25 <filename class="directory">$(PREFIX)/share/mplayer/skins/</filename>
26 </para></listitem>
27 <listitem><para>
28 <filename class="directory">~/.mplayer/skins/</filename>
29 </para></listitem>
30 </orderedlist>
31 </para>
32
33 <para>
34 Zauważ, że pierwsza ścieżka może się różnić, w zależności od sposobu w jaki
35 <application>MPlayer</application> został skonfigurowany
36 (zobacz argumenty <option>--prefix</option> oraz <option>--datadir</option>
37 w skrypcie <command>configure</command>).
38 </para>
39
40 <para>
41 Każda skórka jest instalowana w swoim własnym katalogu, w jednej z wyżej
42 wymienionych lokacji, na przykład:
43 <screen>$(PREFIX)/share/mplayer/skins/default/</screen>
44 </para>
45 </sect2>
46
47 <sect2 id="skin-overview-formats">
48 <title>Formaty obrazków</title>
49 <para>Obrazki muszą być zapisane w formacie PNG (paleta truecolor - 24 lub 32 bpp).</para>
50 <para>
51 W głównym oknie oraz na panelu odtwarzania (zobacz niżej) możesz użyć
52 obrazków z 'przezroczystością': obszary wypełnione kolorem #FF00FF (magenta) są
53 w pełni przezroczyste dla <application>MPlayera</application>. Oznacza to, że
54 możesz mieć okna o różnych kształtach jeśli Twój X Server ma rozszerzenie
55 XShape.
56 </para>
57 </sect2>
58
59 <sect2 id="skin-overview-components">
60 <title>Składniki skórki</title>
61 <para>
62 Skórki są całkowicie konfigurowalne (w odróżnieniu od skórek np.
63 <application>Winampa</application>/<application>XMMS</application>),
64 a więc zależy to wyłącznie od Ciebie, czy stworzysz coś wspaniałego.
65 </para>
66
67 <para>
68 W chwili obecnej mamy cztery okna, które można ozdobić:
69 <link linkend="skin-file-main">okno główne (main window)</link>,
70 <link linkend="skin-file-subwindow">okno ekranu (subwindow)</link>,
71 <link linkend="skin-file-main">panel odtwarzania (playbar)</link>,
72 <link linkend="skin-file-menu">menu skórki (skin menu)</link> (które może być
73 aktywowane prawym przyciskiem myszy).
74
75 <itemizedlist>
76 <listitem><para>
77   <emphasis role="bold">Okno główne</emphasis> i/lub
78   <emphasis role="bold">panel odtwarzania</emphasis> to miejsca, gdzie możesz
79   sterować <application>MPlayerem</application>.
80   Tłem tego okna jest obrazek. Różne elementy mogą (i muszą) być umieszczone
81   w tym oknie: <emphasis>przyciski</emphasis>, <emphasis>potencjometry</emphasis>
82   (suwaki) i <emphasis>etykiety</emphasis>. Dla każdego elementu musisz określić
83   ich pozycję oraz rozmiar.
84 </para><para>
85    <emphasis role="bold">Przycisk</emphasis> ma trzy stany (wciśnięty,
86    zwolniony, nieaktywny), zatem jego obrazki muszą być podzielone na trzy
87    części w pionie. Zobacz sekcję <link linkend="skin-button">button</link>, by
88    dowiedzieć się więcej.
89 </para><para>
90   <emphasis role="bold">Potencjometr (suwak)</emphasis> (wykorzystywany głównie
91   jako pasek przewijania i kontrolka głośności/balansu) może składać się z
92   każdej liczby stanów poprzez podzielenie jego obrazka na wiele części, z
93   których jedna jest pod drugą. Zobacz
94   <link linkend="skin-hpotmeter">hpotmeter</link> oraz
95   <link linkend="skin-potmeter">potmeter</link>, by dowiedzieć się więcej.
96 </para><para>
97   <emphasis role="bold">Etykiety</emphasis> są nieco specyficzne: Znaki
98   potrzebne do ich narysowania są pobierane z pliku graficznego, a znaki
99   umieszczone w pliku graficznym są opisane przez
100   <link linkend="skin-fonts">plik opisu czcionek</link>. Jest to plik, który za
101   pomocą czystego tekstu określa współrzędne x, y oraz wielkość każdego znaku
102   umieszczonego na obrazku (plik graficzny i jego plik opisu tworzą
103   <emphasis>razem</emphasis> czcionkę).
104   Zobacz <link linkend="skin-dlabel">dlabel</link>
105   oraz <link linkend="skin-slabel">slabel</link>, by dowiedzieć się więcej.
106 </para>
107 <note><para>Wszystkie obrazki mogą być całkowicie przezroczyste - tak, jak to
108 opisano w sekcji <link linkend="skin-overview-formats">formaty plików
109 graficznych</link>. Jeżeli X Server nie obsługuje rozszerzenia XShape, to
110 elementy oznaczone jako przezroczyste będą czarne. Jeśli chciałbyś wykorzystać
111 taką możliwość, szerokość obrazka tła głównego okna musi być podzielna przez 8.
112 </para></note>
113 </listitem>
114
115 <listitem><para>
116   <emphasis role="bold">Okno ekranu</emphasis> to miejsce, gdzie odtwarzany jest
117   film. Może ono wyświetlać określony obrazek, jeśli żaden film nie jest uruchomiony
118   (to dość nudne mieć puste okno :-)) <emphasis role="bold">Uwaga:</emphasis>
119   przezroczystość <emphasis role="bold">nie jest</emphasis> tutaj dostępna.
120 </para></listitem>
121
122 <listitem><para>
123   <emphasis role="bold">Menu skórki</emphasis> to po prostu jeden ze sposobów na
124   kontrolowanie <application>MPlayera</application> poprzez wpisy w menu. Dwa
125   obrazki są do tego potrzebne: pierwszy z nich jest obrazkiem podstawowym,
126   który pokazuje zwykły stan menu, drugi zaś służy do wyświetlenia zaznaczonych
127   obszarów. Gdy uaktywnisz menu, zostanie pokazany pierwszy obrazek. Jeśli
128   przesuniesz mysz nad któryś z jego wpisów, wówczas zaznaczony element jest
129   kopiowany z drugiego obrazka w miejsce, na które wskazuje kursor myszy (drugi
130   obrazek nigdy nie jest wyświetlany w całości).
131 </para><para>
132  Wpis w menu jest określony przez jego pozycję oraz rozmiar na obrazku (zobacz
133  sekcję <link linkend="skin-file-menu">menu skórki</link> by dowiedzieć się
134  więcej).
135 </para></listitem>
136 </itemizedlist>
137 </para>
138
139 <para>
140   Jedna ważna sprawa, która nie została jeszcze powiedziana:
141   <application>MPlayer</application> musi wiedzieć co zrobić w momencie
142   kliknięcia na przyciski, potencjometry i wpisy w menu, aby zadziałały. Zostało
143   to zrobione za pomocą <link linkend="skin-gui">sygnałów</link> (zdarzeń). Dla
144   tych elementów musisz zdefiniować sygnały, które mają być wysłane podczas
145   kliknięcia na nie.
146 </para>
147 </sect2>
148
149 <sect2 id="skin-files">
150 <title>Pliki</title>
151 <para>
152 Potrzebujesz następujących plików do stworzenia skórki:
153 <itemizedlist>
154 <listitem><para>
155   Plik konfiguracyjny o nazwie <link linkend="skin-file">skin</link> mówi
156   <application>MPlayerowi</application> jak połączyć różne części skórki
157   w jedną całość i co zrobić, gdy kliknie się gdzieś na obszarze okna.
158 </para></listitem>
159 <listitem><para>
160   Plik graficzny tła w oknie głównym.
161 </para></listitem>
162 <listitem><para>
163   Obrazki dla elementów w głównym oknie (zawierające jeden lub
164   więcej plików opisu czcionek potrzebnych do rysowania etykiet).
165 </para></listitem>
166 <listitem><para>
167   Obrazek wyświetlany w oknie ekranu (opcjonalnie)
168 </para></listitem>
169 <listitem><para>
170   Dwa obrazki dla menu skórki (potrzebne są tylko wtedy, gdy chcesz stworzyć
171   takie menu).
172 </para></listitem>
173 </itemizedlist>
174   Za wyjątkiem pliku konfiguracyjnego skórki, możesz nazwać wszystkie pliki
175   tak, jak tego chcesz (ale weź pod uwagę, że pliki opisu czcionek muszą mieć
176   rozszerzenie <filename>.fnt</filename> ).
177 </para>
178 </sect2>
179 </sect1>
180
181 <sect1 id="skin-file">
182 <title>Plik skin</title>
183 <para>
184 Jak zostało powiedziane wcześniej, plik ten jest plikiem konfigurującym skórkę.
185 Obsługuje różne rodzaje wierszy; komentarze zaczynają wiersz znakiem
186 '<literal>;</literal>' (tylko spacje i znaki tabulacji są dopuszczone przed
187 '<literal>;</literal>').
188 </para>
189
190 <para>
191 Plik podzielony jest na sekcje. Każda sekcja opisuje skórkę dla każdej
192 aplikacji i ma następującą formę:
193
194 <programlisting>
195 section = <replaceable>nazwa sekcji</replaceable>
196 .
197 .
198 .
199 end
200 </programlisting>
201 </para>
202
203 <para>
204 Obecnie jest tylko jedna aplikacja, a więc potrzebujesz tylko jedną sekcję
205 'section' - jej nazwa to <emphasis role="bold">movieplayer</emphasis>.
206 </para>
207
208 <para>
209 Wewnątrz tej sekcji każde z okien jest opisane przez blok następującej postaci:
210 <programlisting>
211 window = <replaceable>nazwa okna</replaceable>
212 .
213 .
214 .
215 end
216 </programlisting>
217 </para>
218
219 <para>
220 gdzie <replaceable>nazwa okna</replaceable> może być jednym z poniższych łańcuchów:
221 <itemizedlist>
222 <listitem><para><emphasis role="bold">main</emphasis> - dla okna głównego</para></listitem>
223 <listitem><para><emphasis role="bold">sub</emphasis> - dla okna ekranu</para></listitem>
224 <listitem><para><emphasis role="bold">menu</emphasis> - dla menu skórki</para></listitem>
225 <listitem><para><emphasis role="bold">playbar</emphasis> - dla panelu odtwarzania</para></listitem>
226 </itemizedlist>
227 </para>
228
229 <para>
230 (Bloki sub i menu są opcjonalne - nie musisz tworzyć menu czy elementów skórki
231 dla okna ekranu)
232 </para>
233
234 <para>
235 Wewnątrz bloku 'window' możesz definiować każdy element okna, wpisując linijkę
236 tej postaci: <programlisting>item = parametr</programlisting>
237 Gdzie <literal>item</literal> jest łańcuchem, kóry identyfikuje typ elementu
238 GUI, <literal>parametr</literal> jest wartością numeryczną lub tekstową (lub
239 listą takich wartości oddzielonych od siebie znakiem przecinka).
240 </para>
241
242 <para>
243 Złożenie powyższych elementów razem tworzy plik, który wygląda mniej więcej tak:
244 <programlisting>
245 section = movieplayer
246   window = main
247   ; ... elementy okna głównego ...
248   end
249
250   window = sub
251   ; ... elementy okna ekranu ...
252   end
253
254   window = menu
255   ; ... elementy menu skórki ...
256   end
257
258   window = playbar
259   ; ... elementy panelu odtwarzania ...
260   end
261 end
262 </programlisting>
263 </para>
264
265 <para>
266 Nazwa pliku graficznego musi zostać podana bez żadnych nazw katalogów - obrazki
267 są szukane w katalogu <filename class="directory">skins</filename>.
268 Możesz (ale nie musisz) określić rozszerzenia tego pliku. Jeśli plik taki nie
269 istnieje, <application>MPlayer</application>
270 spróbuje wczytać plik <filename>&lt;nazwa pliku&gt;.&lt;rozszerzenie&gt;</filename>,
271 gdzie <literal>png</literal> oraz <literal>PNG</literal> są brane jako
272 <filename>&lt;rozszerzenie&gt;</filename> (w tej właśnie kolejności). Pierwszy
273 pasujący plik będzie użyty.
274 </para>
275
276 <para>
277 Na koniec kilka słów na temat pozycjonowania. Okno główne oraz okno ekranu możesz
278 umieścić w różnych narożnikach ekranu poprzez ustawienie współrzędnych
279 <literal>X</literal> i <literal>Y</literal>. <literal>0</literal> to góra lub
280 lewa strona, <literal>-1</literal> to środek, <literal>-2</literal> to strona
281 prawa, lub dół, tak jak przedstawiono na poniższej ilustracji:
282 </para>
283 <informalfigure>
284 <screen>
285 (0, 0)----(-1, 0)----(-2, 0)
286   |          |          |
287   |          |          |
288 (0,-1)----(-1,-1)----(-2,-1)
289   |          |          |
290   |          |          |
291 (0,-2)----(-1,-2)----(-2,-2)
292 </screen>
293 </informalfigure>
294
295 <para>
296 Oto przykład wyjaśniający to lepiej. Przypuśćmy, że masz obrazek nazwany
297 <filename>main.png</filename>, który został użyty dla okna głównego:
298 <programlisting>base = main, -1, -1</programlisting>
299 <application>MPlayer</application> spróbuje wczytać pliki
300 <filename>main</filename>, <filename>main.png</filename>,
301 <filename>main.PNG</filename>.
302 </para>
303
304
305 <sect2 id="skin-file-main">
306 <title>Okno główne i panel odtwarzania</title>
307 <para>
308 Poniżej znajduje się lista wpisów, które mogą być użyte w blokach
309 '<literal>window = main</literal>'...'<literal>end</literal>'
310 oraz '<literal>window = playbar</literal>' ... '<literal>end</literal>'.
311 </para>
312
313 <variablelist>
314 <varlistentry>
315   <term><literal>
316   <anchor id="skin-main-base"/>base = obrazek, X, Y
317   </literal></term>
318   <listitem><para>
319   Możesz określić obrazek tła, który będzie używany w oknie głównym.
320   Okno będzie widoczne na ekranie na współrzędnych <literal>X, Y</literal>. Okno
321   będzie wielkości tego obrazka.
322     </para>
323     <note><para>Współrzędne te nie działają na razie dla okna ekranu.</para></note>
324     <warning><para>Obszary przezroczystości obrazka (kolor #FF00FF) będą
325     widoczne jako czarne pod X serwerami niemającymi rozszerzenia
326     XShape. Szerokość obrazka musi być podzielna przez 8.</para></warning>
327     </listitem>
328 </varlistentry>
329
330 <varlistentry>
331   <term><literal>
332   <anchor id="skin-button"/>button = obrazek, X, Y, szerokość, wysokość, sygnał
333   </literal></term>
334   <listitem><para>
335 Umieści przycisk o rozmiarze <literal>szerokość</literal> *
336 <literal>wysokość</literal> na pozycji <literal>X</literal>,
337 <literal>Y</literal>. Określony <literal>sygnał</literal> jest generowany
338 podczas kliknięcia na przycisk. Obrazek ten opisany przez
339 <literal>obrazek</literal> musi składać się z trzech części jedna pod drugą
340 (stosownie do możliwych stanów przycisku), w ten oto sposób:
341 </para>
342 <informalfigure>
343 <screen>
344 +---------------+
345 |  wciśnięty    |
346 +---------------+
347 |  zwolniony    |
348 +---------------+
349 | nieaktywny    |
350 +---------------+
351 </screen>
352 </informalfigure>
353   </listitem>
354 </varlistentry>
355
356 <varlistentry>
357   <term><literal>
358   <anchor id="skin-decoration"/>decoration = enable|disable (włączona|wyłączona)
359   </literal></term>
360   <listitem><para>
361 Włącza lub wyłącza dekorację menedżera okna w oknie głównym.
362 Domyślnie jest <emphasis role="bold">wyłączona</emphasis>.
363     </para>
364     <note><para>Nie działa to w oknie ekranu, gdyż nie ma takiej potrzeby.</para></note>
365   </listitem>
366 </varlistentry>
367
368 <varlistentry>
369   <term><literal>
370   <anchor id="skin-hpotmeter"/>hpotmeter = przycisk, szer_przycisku, wys_przycisku, faza, liczba_faz, domyślny, X, Y, szerokość, wysokość, sygnał
371   </literal></term>
372   <listitem><para>
373
374     </para></listitem>
375 </varlistentry>
376
377 <varlistentry>
378   <term><literal>
379   <anchor id="skin-vpotmeter"/>vpotmeter = przycisk, szer_przycisku, wys_przycisku, fazy, liczba_faz, domyślny, X, Y, szerokość, wysokość, sygnał
380   </literal></term>
381   <listitem><para>
382 Umieszcza poziomo (hpotmeter) lub pionowo (vpotmeter) suwak o rozmiarze
383 <literal>szerokość</literal> * <literal>wysokość</literal> i pozycji
384 <literal>X,Y</literal>. Obrazek może być podzielony na różne części dla różnych
385 faz suwaka (np. możesz mieć suwak głośności, który w zależności od położenia
386 zmienia kolor z zielonego (minimum) na czerwony (maksimum)).
387 <literal>hpotmeter</literal> może być przyciskiem umieszczonym poziomo.
388 Jego parametry to:
389     </para>
390     <itemizedlist>
391     <listitem><para><literal>przycisk</literal> - obrazek użyty do przycisku
392     (musi posiadać trzy części jedna pod drugą tak, jak w przypadku
393     <link linkend="skin-button">przycisku</link>)
394     </para></listitem>
395     <listitem><para><literal>szer_przycisku</literal>,<literal>wys_przycisku</literal> - wielkość przycisku
396     </para></listitem>
397    <listitem><para><literal>fazy</literal> - obrazek używany do określenie faz
398    dla hpotmeter. Wartość specjalna <literal>NULL</literal> może być użyta,
399    jeśli nie chcesz żadnego obrazka. Obrazek musi być podzielony w pionie
400    na fragmenty <literal>poszczególnych faz</literal> tak, jak poniżej:
401     </para>
402 <informalfigure>
403 <screen>
404 +------------+
405 |  faza #1   |
406 +------------+
407 |  faza #2   |
408 +------------+
409      ...
410 +------------+
411 |  faza #n   |
412 +------------+
413 </screen>
414
415 </informalfigure>
416     </listitem>
417     <listitem><para><literal>liczba_faz</literal> - liczba faz znajdująca się na obrazku z <literal>fazami</literal>
418     </para></listitem>
419     <listitem><para><literal>domyślny</literal> - domyślne ustawienie dla hpotmeter
420     (zakres od <literal>0</literal> do <literal>100</literal>)
421     </para></listitem>
422     <listitem><para><literal>X</literal>,<literal>Y</literal> - pozycja dla hpotmeter
423     </para></listitem>
424     <listitem><para><literal>szerokość</literal>,<literal>wysokość</literal> - szerokość i wysokość dla
425   <literal>hpotmeter</literal>
426     </para></listitem>
427     <listitem><para><literal>sygnał</literal> - sygnał generowany podczas zmiany wartości <literal>hpotmeter</literal>
428     </para></listitem>
429     </itemizedlist>
430
431     </listitem>
432 </varlistentry>
433
434 <varlistentry>
435   <term><literal>
436   <anchor id="skin-potmeter"/>potmeter = fazy, liczba_faz, domyślny, X, Y, szerokość, wysokość, sygnał
437   </literal></term>
438   <listitem><para>
439 <literal>hpotmeter</literal> bez przycisku. (domyślam się, że chodzi o to, aby
440 nim kręcić, ale reaguje on tylko na poziome przesuwanie). Opis parametrów znajdziesz w części o
441 <link linkend="skin-hpotmeter">hpotmeter</link>.
442 Parametr <literal>fazy</literal> może mieć wartość <literal>NULL</literal>, ale
443 jest to zupełnie bezużyteczne, gdyż nie widać wtedy położenia potencjometru.
444     </para></listitem>
445 </varlistentry>
446
447 <varlistentry>
448   <term><literal>
449   <anchor id="skin-font"/>font = plik_czcionek, id_czcionki
450   </literal></term>
451   <listitem><para>
452 Definiuje czcionkę. <literal>plik_czcionek</literal> jest nazwą pliku opisu
453 czcionki z rozszerzeniem <filename>.fnt</filename> (nie podawaj rozszerzenia w
454 tym miejscu). <literal>id_czcionki</literal> jest używany do wskazywania
455 konkretnej czcionki (zobacz <link linkend="skin-dlabel">dlabel</link>
456 oraz <link linkend="skin-slabel">slabel</link>). Można zdefiniować do 25
457 czcionek.
458     </para></listitem>
459 </varlistentry>
460
461 <varlistentry>
462   <term><literal>
463   <anchor id="skin-slabel"/>slabel = X, Y, id_czcionki, &quot;tekst&quot;
464   </literal></term>
465   <listitem><para>
466 Umieszcza statyczną etykietę w pozycji <literal>X,Y</literal>.
467 <literal>tekst</literal> jest wyświetlany za pomocą czcionki wskazywanych przez
468 <literal>id_czcionki</literal>. Tekst jest po prostu zwykłym łańcuchem znaków
469 (zmienne <literal>$x</literal> nie działają), któru musi być umieszczony
470 pomiędzy podwójnym cudzysłowem (znak &quot; nie może być częścią tekstu).
471 Etykieta wyświetlana jest za pomocą czcionki, na którą wskazuje
472 <literal>id_czcionki</literal>.
473     </para></listitem>
474 </varlistentry>
475
476 <varlistentry>
477   <term><literal>
478   <anchor id="skin-dlabel"/>dlabel = X, Y, długość, wyrównanie, id_czcionki, &quot;tekst&quot;
479   </literal></term>
480   <listitem>
481 <para>
482 Umieszcza dynamiczną etykietę w pozycji <literal>X,Y</literal>. Etykieta jest
483 nazywana dynamiczną, ponieważ jej tekst jest cyklicznie odświeżany. Maksymalną
484 długość etykiety określa parametr <literal>długość</literal> (jej wysokość
485 określa wysokość czcionki). Jeśli tekst jest szerszy niż zdefiniowana długość,
486 będzie on przewijany, w przeciwnym wypadku będzie wyrównany w miejscu określonym
487 przez wartość parametru <literal>wyrównanie</literal>: <literal>0</literal>
488 oznacza do prawej, <literal>1</literal> to wyśrodkowanie, <literal>2</literal>
489 to wyrównanie do lewej.
490 </para>
491 <para>
492 Wyświetlany tekst jest określony przez zmienną <literal>tekst</literal>: musi
493 być zawarty pomiędzy podwójnymi cudzysłowami (znak &quot; nie może być częścią
494 tekstu). Etykieta wyświetlana jest za pomocą czcionki, na którą wskazuje
495 parametr <literal>id_czcionki</literal>. Możesz użyć następujących zmiennych w
496 tekście:
497 </para>
498
499 <informaltable>
500 <tgroup cols="2">
501 <thead>
502   <row><entry>Zmienna</entry><entry>Znaczenie</entry></row>
503 </thead>
504 <tbody>
505 <row>
506 <entry>$1</entry>
507 <entry>czas odtwarzania w formacie <emphasis>hh:mm:ss</emphasis></entry>
508 </row>
509 <row>
510 <entry>$2</entry>
511 <entry>czas odtwarzania w formacie <emphasis>mmmm:ss</emphasis></entry>
512 </row>
513 <row>
514 <entry>$3</entry>
515 <entry>czas odtwarzania w formacie (godziny) <emphasis>hh</emphasis></entry>
516 </row>
517 <row>
518 <entry>$4</entry>
519 <entry>czas odtwarzania w formacie (minuty) <emphasis>mm</emphasis></entry>
520 </row>
521 <row>
522 <entry>$5</entry>
523 <entry>czas odtwarzania w formacie (sekundy) <emphasis>ss</emphasis></entry>
524 </row>
525 <row>
526 <entry>$6</entry>
527 <entry>długość filmu w formacie <emphasis>hh:mm:ss</emphasis></entry>
528 </row>
529 <row>
530 <entry>$7</entry>
531 <entry>długość filmu w formacie <emphasis>mmmm:ss</emphasis></entry>
532 </row>
533 <row>
534 <entry>$8</entry>
535 <entry>długość filmu w formacie<emphasis>h:mm:ss</emphasis></entry>
536 </row>
537 <row>
538 <entry>$v</entry>
539 <entry>format głośności w %<emphasis>xxx.xx</emphasis></entry>
540 </row>
541 <row>
542 <entry>$V</entry>
543 <entry>format głośności <emphasis>xxx.xx</emphasis> format</entry>
544 </row>
545 <row>
546 <entry>$b</entry>
547 <entry>format balansu w %<emphasis>xxx.xx</emphasis></entry>
548 </row>
549 <row>
550 <entry>$B</entry>
551 <entry>format balansu <emphasis>xxx.xx</emphasis></entry>
552 </row>
553 <row>
554 <entry>$$</entry>
555 <entry>znak $</entry>
556 </row>
557 <row>
558 <entry>$a</entry>
559 <entry>oznaczenie zgodne z rodzajem typu pliku audio (nic: <literal>n</literal>,
560 mono: <literal>m</literal>, stereo: <literal>t</literal>)</entry>
561 </row>
562 <row>
563 <entry>$t</entry>
564 <entry>numer ścieżki (na liście odtwarzania)</entry>
565 </row>
566 <row>
567 <entry>$o</entry>
568 <entry>nazwa pliku</entry>
569 </row>
570 <row>
571 <entry>$f</entry>
572 <entry>nazwa pliku pisana małymi literami</entry>
573 </row>
574 <row>
575 <entry>$F</entry>
576 <entry>nazwa pliku pisana wielkimi literami</entry>
577 </row>
578 <row>
579 <entry>$T</entry>
580 <entry>oznaczenie zgodne z rodzajem strumienia (plik: <literal>f</literal>,
581 Video CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry>
582 </row>
583 <row>
584 <entry>$p</entry>
585 <entry>znak <keycap>p</keycap> (gdy film jest odtwarzany i czcionka ma znak <keycap>p</keycap>)</entry>
586 </row>
587 <row>
588 <entry>$s</entry>
589 <entry>znak <keycap>s</keycap> (gdy film jest zatrzymany i czcionka ma znak <keycap>s</keycap>)</entry>
590 </row>
591 <row>
592 <entry>$e</entry>
593 <entry>znak <keycap>e</keycap> (gdy film jest wstrzymany (pauza) i czcionka ma znak <keycap>e</keycap>)
594 </entry>
595 </row>
596 <row>
597 <entry>$x</entry>
598 <entry>rozdzielczość filmu (szerokość)</entry>
599 </row>
600 <row>
601 <entry>$y</entry>
602 <entry>rozdzielczość filmu (wysokość)</entry>
603 </row>
604 <row>
605 <entry>$C</entry>
606 <entry>nazwa używanego kodeka</entry>
607 </row>
608
609 </tbody>
610 </tgroup>
611 </informaltable>
612 </listitem>
613
614 </varlistentry>
615 </variablelist>
616
617 <note><para>
618 Zmienne <literal>$a, $T, $p, $s</literal> oraz <literal>$e</literal>
619 zwracają znaki, które powinny być wyświetlane jako znaki specjalne (na przykład
620 <keycap>e</keycap> jest symbolem pauzy, która z reguły wygląda mniej więcej tak
621 ||). Powinieneś mieć czcionkę dla zwykłych znaków oraz osobną czcionkę dla symboli.
622 Zobacz sekcję na temat <link linkend="skin-fonts-symbols">symboli</link>,
623 by dowiedzieć się więcej.
624 </para></note>
625 </sect2>
626
627 <sect2 id="skin-file-subwindow">
628 <title>Okno ekranu</title>
629 <para>
630 Poniższe wpisy mogą być użyte w bloku
631 '<literal>window = sub</literal>' . . . '<literal>end</literal>' .
632 </para>
633
634 <variablelist>
635 <varlistentry>
636   <term><literal>
637   <anchor id="skin-sub-base"/>base = obrazek, X, Y, szerokość, wysokość
638   </literal></term>
639   <listitem><para>
640 Wyświetla obrazek w oknie. Okno będzie widoczne na ekranie w miejscu oznaczonym
641 przez współrzędne <literal>X</literal>, <literal>Y</literal>
642 (<literal>0,0</literal> to lewy górny narożnik). Możesz użyć
643 <literal>-1</literal> dla środka, <literal>-2</literal> dla prawej strony
644 (<literal>X</literal>) i dołu (<literal>Y</literal>). Okno będzie mieć wielkość
645 obrazka. <literal>szerokość</literal> oraz <literal>wysokość</literal> oznaczają
646 wielkość okna; są one opcjonalne (jeśli nie są określone, okno będzie wielkości
647 takiej, jak obrazek).</para></listitem>
648 </varlistentry>
649
650 <varlistentry>
651   <term><literal>
652   <anchor id="skin-background"/>background = R, G, B
653   </literal></term>
654   <listitem><para>
655   Pozwala ustawić kolor tła. Jest to użyteczne jeśli obrazek jest mniejszy niż
656   okno. <literal>R</literal>, <literal>G</literal> oraz <literal>B</literal>
657   określają składniki kolorów czerwonego, zielonego i niebieskiego (każdy z nich
658   jest reprezentowany przez liczbę dziesiętną w zakresie od 0 do
659   255).</para></listitem>
660 </varlistentry>
661 </variablelist>
662 </sect2>
663
664 <sect2 id="skin-file-menu">
665 <title>Menu skórki</title>
666 <para>
667 Jak wspomniano wcześniej, menu jest wyświetlane przy użyciu dwóch obrazków.
668 Zwykłe obszary menu są pobierane z obrazka określonego przez element
669 <literal>base</literal>, podczas gdy obszary zaznaczone są pobierane z obrazka
670 wskazywanego przez element <literal>selected</literal>. Musisz zdefiniować
671 pozycję i rozmiar każdego obszaru menu poprzez element menu.
672 </para>
673
674 <para>
675 Poniższe wpisy mogą być użyte w bloku:
676 '<literal>window = menu</literal>'. . .'<literal>end</literal>' .
677 </para>
678
679 <variablelist>
680 <varlistentry>
681   <term><literal>
682   <anchor id="skin-menu-base"/>base = obrazek
683   </literal></term>
684   <listitem><para>
685 Obrazek dla zwykłych obszarów menu.
686     </para></listitem>
687 </varlistentry>
688
689 <varlistentry>
690   <term><literal>
691   <anchor id="skin-selected"/>selected = obrazek
692   </literal></term>
693   <listitem><para>
694 Obrazek pokazujący w menu wszystkie zaznaczone obszary.
695     </para></listitem>
696 </varlistentry>
697
698 <varlistentry>
699   <term><literal>
700   <anchor id="skin-menu"/>menu = X, Y, szerokość, wysokość, sygnał
701   </literal></term>
702   <listitem><para>
703 Definiuje pozycję i rozmiar obszarów menu na obrazku przy pomocy
704 <literal>X,Y</literal>. <literal>sygnał</literal> to zdarzenie wygenerowane
705 podczas zwolnienia przycisku myszy nad obszarem.
706     </para></listitem>
707 </varlistentry>
708 </variablelist>
709 </sect2>
710 </sect1>
711
712 <sect1 id="skin-fonts">
713 <title>Czcionki</title>
714 <para>
715 Jak wspomniano w sekcji na temat fragmentów skórki, czcionka jest definiowana
716 przez obrazek i plik opisujący. Możesz umieścić znaki gdziekolwiek na obrazku,
717 ale miej pewność, żeich pozycja i rozmiar jest dokładnie podana w pliku
718 opisującym.
719 </para>
720
721 <para>
722 Plik opisujący czcionkę (o rozszerzeniu <filename>.fnt</filename>) może posiadać
723 linie komentarzy zaczynające się znakiem '<literal>;</literal>'. Plik musi
724 zawierać linie w postaci:
725 <anchor id="skin-font-image"/>
726 <programlisting>image = <replaceable>obrazek</replaceable></programlisting>
727 Gdzie <literal><replaceable>obrazek</replaceable></literal> jest nazwą pliku
728 graficznego, który zawiera czcionkę (nie musisz dopisywać jego rozszerzenia).
729 <anchor id="skin-font-char"/>
730 <programlisting>&quot;char&quot; = X, Y, szerokość, wysokość</programlisting>
731 <literal>X</literal> oraz <literal>Y</literal> określają pozycję znaku
732 <literal>char</literal> na obrazku (<literal>0,0</literal> to górny lewy narożnik).
733 <literal>szerokość</literal> i <literal>wysokość</literal> to rozmiar znaku
734 w pikselach.
735 </para>
736
737 <para>
738 Przykład: definiujemy znaki A, B, C przy użyciu pliku <filename>font.png</filename>.
739 <programlisting>
740 ; Może być &quot;font&quot; zamiast &quot;font.png&quot;.
741 image = font.png
742
743 ; Trzy znaki wystarczą do tej demonstracji :-)
744 &quot;A&quot; =  0,0, 7,13
745 &quot;B&quot; =  7,0, 7,13
746 &quot;C&quot; = 14,0, 7,13
747 </programlisting>
748 </para>
749
750 <sect2 id="skin-fonts-symbols">
751 <title>Znaki specjalne (symbole)</title>
752 <para>
753 Niektóre znaki mają specjalne znaczenie, gdy są zwracane przez pewne zmienne
754 używane w <link linkend="skin-dlabel">dlabel</link>. Znaki te mogą być
755 wyświetlane jako symbole w ten sposób, że np. podczas odtwarzania strumienia DVD
756 widoczne jest ładne logo zamiast znaku '<literal>d</literal>'.
757 </para>
758 <para>
759 Poniższa tablica zawiera znaki używane do wyświetlania symboli (wymagają one
760 oddzielnych czcionek).
761 </para>
762
763 <informaltable>
764 <tgroup cols="2">
765 <thead>
766   <row><entry>Znak</entry><entry>Symbol</entry></row>
767 </thead>
768 <tbody>
769 <row><entry><keycap>p</keycap></entry><entry>odtwarzanie</entry></row>
770 <row><entry><keycap>s</keycap></entry><entry>stop</entry></row>
771 <row><entry><keycap>e</keycap></entry><entry>pauza</entry></row>
772 <row><entry><keycap>n</keycap></entry><entry>bez dźwięku</entry></row>
773 <row><entry><keycap>m</keycap></entry><entry>dźwięk mono</entry></row>
774 <row><entry><keycap>t</keycap></entry><entry>dźwięk stereo</entry></row>
775 <row><entry><keycap>f</keycap></entry><entry>strumień z pliku</entry></row>
776 <row><entry><keycap>v</keycap></entry><entry>strumień z Video CD</entry></row>
777 <row><entry><keycap>d</keycap></entry><entry>strumień z DVD</entry></row>
778 <row><entry><keycap>u</keycap></entry><entry>strumień z URL</entry></row>
779 </tbody>
780 </tgroup>
781 </informaltable>
782 </sect2>
783 </sect1>
784
785 <sect1 id="skin-gui">
786 <title>Sygnały GUI</title>
787 <para>
788 Tutaj znajdują się sygnały, które mogą być generowane przez przyciski, suwaki
789 i elementy menu.
790 </para>
791
792 <variablelist>
793 <varlistentry>
794   <term><emphasis role="bold">evNone</emphasis></term>
795   <listitem><para>
796 Sygnał pusty - nic nie robi (może za wyjątkiem wersji z Subversion:-)).
797     </para></listitem>
798 </varlistentry>
799
800 <title>Kontrola odtwarzania :</title>
801 <varlistentry>
802   <term><emphasis role="bold">evPlay</emphasis></term>
803   <listitem><para>
804 Rozpocznij odtwarzanie.
805     </para></listitem>
806 </varlistentry>
807
808 <varlistentry>
809   <term><emphasis role="bold">evStop</emphasis></term>
810   <listitem><para>
811 Zatrzymaj odtwarzanie.
812     </para></listitem>
813 </varlistentry>
814 </variablelist>
815
816 <varlistentry>
817   <term><emphasis role="bold">evPause</emphasis></term>
818   <listitem><para>
819     </para></listitem>
820 </varlistentry>
821
822 <varlistentry>
823   <term><emphasis role="bold">evPrev</emphasis></term>
824   <listitem><para>
825 Przejdź do poprzedniej pozycji na liście odtwarzania.
826     </para></listitem>
827 </varlistentry>
828
829 <varlistentry>
830   <term><emphasis role="bold">evNext</emphasis></term>
831   <listitem><para>
832 Przejdź do następnej pozycji na liście odtwarzania.
833     </para></listitem>
834 </varlistentry>
835
836 <varlistentry>
837   <term><emphasis role="bold">evLoad</emphasis></term>
838   <listitem><para>
839 Wczytaj plik (poprzez otwarcie okna przeglądarki plików, gdzie możesz wybrać
840 plik).
841     </para></listitem>
842 </varlistentry>
843
844 <varlistentry>
845   <term><emphasis role="bold">evLoadPlay</emphasis></term>
846   <listitem><para>
847 Tto samo co <literal>evLoad</literal>, ale zacznij automatycznie odtwarzać
848 zaraz po wyborze pliku.
849     </para></listitem>
850 </varlistentry>
851
852 <varlistentry>
853   <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
854   <listitem><para>
855 Wczytaj plik dźwiękowy (z przeglądarki plików).
856     </para></listitem>
857 </varlistentry>
858
859 <varlistentry>
860   <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
861   <listitem><para>
862 Wczytaj plik z napisami (z przeglądarki plików).
863     </para></listitem>
864 </varlistentry>
865
866 <varlistentry>
867   <term><emphasis role="bold">evDropSubtitle</emphasis></term>
868   <listitem><para>
869 Wyłącz aktualnie używane napisy.
870     </para></listitem>
871 </varlistentry>
872
873 <varlistentry>
874   <term><emphasis role="bold">evPlaylist</emphasis></term>
875   <listitem><para>
876 Otwórz/zamknij okno listy odtwarzania.
877     </para></listitem>
878 </varlistentry>
879
880 <varlistentry>
881   <term><emphasis role="bold">evPlayVCD</emphasis></term>
882   <listitem><para>
883 Spróbuj odczytać płytę ze wskazanego czytnika CD.
884     </para></listitem>
885 </varlistentry>
886
887 <varlistentry>
888   <term><emphasis role="bold">evPlayDVD</emphasis></term>
889   <listitem><para>
890 Spróbuj odczytać płytę ze wskazanego czytnika DVD.
891     </para></listitem>
892 </varlistentry>
893
894 <varlistentry>
895   <term><emphasis role="bold">evLoadURL</emphasis></term>
896   <listitem><para>
897 Wyświetl okienko dialogowe URL.
898     </para></listitem>
899 </varlistentry>
900
901 <varlistentry>
902   <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
903   <listitem><para>
904 Przeciwieństwo <literal>evPauseSwitchToPlay</literal>. Ten sygnał zaczyna
905 odtwarzanie oraz wyświetla obrazek dla przycisku
906 <literal>evPauseSwitchToPlay</literal> (aby zaznaczyć, że przycisk ten może być
907 użyty ponownie do wstrzymania odtwarzania).
908     </para></listitem>
909 </varlistentry>
910
911 <varlistentry>
912   <term><emphasis role="bold">evPauseSwitchToPlay</emphasis></term>
913   <listitem><para>
914   Tworzy przełącznik razem z <literal>evPlaySwitchToPause</literal>.
915   Mogą być użyte do utworzenia wspólnego przycisku odtwarzania/pauzy.
916   Oba sygnały powinny być powiązane z przyciskami wyświetlonymi na tej samej
917   pozycji w oknie. Sygnał ten wstrzymuje odtwarzanie i wyświetla  obrazek dla
918   przycisku <literal>evPlaySwitchToPause</literal> (aby zaznaczyć,
919   że przycisk ten może być użyty do kontynuowania odtwarzania).
920     </para></listitem>
921 </varlistentry>
922
923 <variablelist>
924 <title>Przewijanie:</title>
925 <varlistentry>
926   <term><emphasis role="bold">evBackward10sec</emphasis></term>
927   <listitem><para>
928 Przewiń do tyłu o 10 sekund.
929     </para></listitem>
930 </varlistentry>
931
932 <varlistentry>
933   <term><emphasis role="bold">evBackward1min</emphasis></term>
934   <listitem><para>
935 Przewiń do tyłu o 1 minutę.
936     </para></listitem>
937 </varlistentry>
938
939 <varlistentry>
940   <term><emphasis role="bold">evBackward10min</emphasis></term>
941   <listitem><para>
942 Przewiń do tyłu o 10 minut.
943     </para></listitem>
944 </varlistentry>
945
946 <varlistentry>
947   <term><emphasis role="bold">evForward10sec</emphasis></term>
948   <listitem><para>
949 Przewiń do przodu o 10 sekund.
950     </para></listitem>
951 </varlistentry>
952
953 <varlistentry>
954   <term><emphasis role="bold">evForward1min</emphasis></term>
955   <listitem><para>
956 Przewiń do przodu o 1 minutę.
957     </para></listitem>
958 </varlistentry>
959
960 <varlistentry>
961   <term><emphasis role="bold">evForward10min</emphasis></term>
962   <listitem><para>
963 Przewiń do przodu o 10 minut..
964     </para></listitem>
965 </varlistentry>
966
967 <varlistentry>
968   <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
969   <listitem><para>
970 Przewiń do pozycji (może być wykorzystane przez suwak;
971 użyte są względne wartości (0-100%) suwaka).
972     </para></listitem>
973 </varlistentry>
974 </variablelist>
975
976 <variablelist>
977 <title>Kontrola video:</title>
978 <varlistentry>
979   <term><emphasis role="bold">evHalfSize</emphasis></term>
980   <listitem><para>
981 Ustawia okno filmu na połowę rozmiaru.
982     </para></listitem>
983 </varlistentry>
984 <varlistentry>
985   <term><emphasis role="bold">evDoubleSize</emphasis></term>
986   <listitem><para>
987 Ustaw podwójny rozmiar okna z filmem.
988     </para></listitem>
989 </varlistentry>
990 <varlistentry>
991   <term><emphasis role="bold">evFullScreen</emphasis></term>
992   <listitem><para>
993 Włącz/wyłącz tryb pełnoekranowy.
994     </para></listitem>
995 </varlistentry>
996 <varlistentry>
997   <term><emphasis role="bold">evNormalSize</emphasis></term>
998   <listitem><para>
999 Ustaw typowy rozmiar okna z filmem.
1000     </para></listitem>
1001 </varlistentry>
1002 <varlistentry>
1003   <term><emphasis role="bold">evSetAspect</emphasis></term>
1004   <listitem><para>
1005     </para></listitem>
1006 </varlistentry>
1007 </variablelist>
1008
1009 <variablelist>
1010 <title>Kontrola dźwięku:</title>
1011 <varlistentry>
1012   <term><emphasis role="bold">evDecVolume</emphasis></term>
1013   <listitem><para>
1014 Zmniejsz głośność
1015     </para></listitem>
1016 </varlistentry>
1017
1018 <varlistentry>
1019   <term><emphasis role="bold">evIncVolume</emphasis></term>
1020   <listitem><para>
1021 Zwiększ głośność.
1022     </para></listitem>
1023 </varlistentry>
1024
1025 <varlistentry>
1026   <term><emphasis role="bold">evSetVolume</emphasis></term>
1027   <listitem><para>
1028 Ustaw głośność (może być używane przez suwak;
1029 używana jest wartość względna (0-100%)).
1030     </para></listitem>
1031 </varlistentry>
1032
1033 <varlistentry>
1034   <term><emphasis role="bold">evMute</emphasis></term>
1035   <listitem><para>
1036 Wycisz/przywróć dźwięk.
1037     </para></listitem>
1038 </varlistentry>
1039
1040 <varlistentry>
1041   <term><emphasis role="bold">evSetBalance</emphasis></term>
1042   <listitem><para>
1043 Ustawi balans (może być używane przez suwak;
1044 używana jest wartość względna (0-100%)).
1045     </para></listitem>
1046 </varlistentry>
1047
1048 <varlistentry>
1049   <term><emphasis role="bold">evEqualizer</emphasis></term>
1050   <listitem><para>
1051 Włącz/wyłącz korektor.
1052     </para></listitem>
1053 </varlistentry>
1054 </variablelist>
1055
1056 <variablelist>
1057 <title>Różne:</title>
1058 <varlistentry>
1059   <term><emphasis role="bold">evAbout</emphasis></term>
1060   <listitem><para>
1061 Otwórz okno "o programie".
1062     </para></listitem>
1063 </varlistentry>
1064
1065 <varlistentry>
1066   <term><emphasis role="bold">evPreferences</emphasis></term>
1067   <listitem><para>
1068 Otwórz okno z ustawieniami.
1069     </para></listitem>
1070 </varlistentry>
1071
1072 <varlistentry>
1073   <term><emphasis role="bold">evSkinBrowser</emphasis></term>
1074   <listitem><para>
1075 Otwórz okno przeglądarki skórek.
1076     </para></listitem>
1077 </varlistentry>
1078
1079 <varlistentry>
1080   <term><emphasis role="bold">evIconify</emphasis></term>
1081   <listitem><para>
1082 Minimalizuj okno.
1083     </para></listitem>
1084 </varlistentry>
1085
1086 <varlistentry>
1087   <term><emphasis role="bold">evExit</emphasis></term>
1088   <listitem><para>
1089 Wyłącz program.
1090     </para></listitem>
1091 </varlistentry>
1092 </variablelist>
1093
1094 </sect1>
1095
1096 <sect1 id="skin-quality">
1097   <title>Tworzenie dobrych skórek</title>
1098
1099   <para>
1100     Wygląda na to, że przeczytałeś o tworzeniu skórek
1101     dla GUI <application>MPlayera</application>, dałeś z siebie
1102     wszystko używając <application>Gimpa</application>
1103     i chciałbyś umieścić u nas swoją skórkę?
1104     Zapoznaj się z kilkoma wytycznymi, żeby uniknąć najczęstszych pomyłek
1105     i stworzyć skórkę wysokiej jakości.
1106   </para>
1107
1108   <para>
1109     Chcemy aby skórki, które dodajemy do naszego repozytorium,
1110     spełniały określone standardy jakości. Istnieje również kilka rzeczy,
1111     które możesz zrobić, żeby ułatwić sobie życie.
1112   </para>
1113
1114   <para>
1115     Jako wzorzec możesz wziąć skórkę <systemitem>Blue</systemitem>,
1116     od wersji 1.5 spełnia one wszystkie wymienione niżej kryteria.
1117   </para>
1118
1119   <itemizedlist>
1120     <listitem><para>Do każdej skórki powinien być dołączony plik
1121       <filename>README</filename> zawierający informacje
1122       o tobie, czyli autorze, prawach autorskich i licencji i wszystkie
1123       inne informacje, które zechcesz dodać. Jeżeli chcesz prowadzić
1124       listę zmian, ten plik jest na to dobrym miejscem.</para></listitem>
1125
1126     <listitem><para>Należy dodać plik <filename>VERSION</filename>
1127       zawierający tylko i wyłącznie wersję skórki zapisaną w jednej linii (np. 1.0)
1128       </para></listitem>
1129
1130     <listitem><para>Poziome i pionowe kontrolki (suwaki do zmiany głośności
1131       albo pozycji) powinny mieć gałki prawidłowo wycentrowane na środku
1132       suwaka. Powinno się dać przesunąć gałkę na oba końce suwaka, ale nie
1133       poza jego obszar.</para></listitem>
1134
1135     <listitem><para>Elementy skórki powinny mieć prawidłowo zadeklarowane
1136       rozmiary w pliku skórki. W przeciwnym wypadku możliwe będzie
1137       kliknięcie poza obszarem np. przycisku i jego naciśnięcia
1138       lub kliknięcie wewnątrz obszaru przycisku i nie naciśnięcie go.
1139       </para></listitem>
1140
1141     <listitem><para>Plik <filename>skin</filename> powinien być
1142       ładnie sformatowany i nie powinien zawierać tabulacji. Ładnie
1143       sformatowany, czyli taki w którym numery są ładnie ustawione
1144       w kolumnach.</para></listitem>
1145   </itemizedlist>
1146
1147 </sect1>
1148
1149 </appendix>