stream_file: Simplify and document MinGW stdin hack
[mplayer.git] / DOCS / xml / cs / skin.xml
blob7fcee118839c6e92a7619cc8f5f32936dcbac99a
1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- synced with r21612 -->
3 <appendix id="skin">
4 <title>Formát skinů <application>MPlayer</application>u</title>
6 <sect1 id="skin-overview">
7 <title>Přehled</title>
9 <para>
10 Nemá to sice nic společného s formátem skinu, ale měli byste vědět, že
11 <application>MPlayer</application> <emphasis role="bold">nemá</emphasis>
12 vestavěný skin, takže <emphasis role="bold">si musíte alespoň jeden skin
13 nainstalovat, chcete-li používat GUI.</emphasis>
14 </para>
16 <!-- ********** -->
18 <sect2 id="skin-overview-directories">
19 <title>Adresáře</title>
21 <para>
22 Adresáře prohledávané na skiny jsou (v tomto pořadí):
23 <orderedlist>
24 <listitem><para>
25   <filename class="directory">$(DATADIR)/skins/</filename>
26 </para></listitem>
27 <listitem><para>
28   <filename class="directory">$(PREFIX)/share/mplayer/skins/</filename>
29 </para></listitem>
30 <listitem><para>
31   <filename class="directory">~/.mplayer/skins/</filename>
32 </para></listitem>
33 </orderedlist>
34 </para>
36 <para>
37 Poznamenejme, že první z cest se může lišit podle toho, jak je
38 <application>MPlayer</application> zkonfigurován (viz volby  configure skriptu
39 <option>--prefix</option> a <option>--datadir</option>).
40 </para>
42 <para>
43 Každý skin je instalován do vlastního adresáře v některém z výše uvedených.
44 Například:
45 <screen>$(PREFIX)/share/mplayer/skins/default/</screen>
46 </para>
47 </sect2>
49 <!-- ********** -->
51 <sect2 id="skin-overview-formats">
52 <title>Formáty obrázků</title>
54 <para>Obrázky musí být truecolor (24 nebo 32 bpp) PNG.</para>
55 <para>
56 V hlavním okně a v přehrávači (viz níž) můžete použít obrázky s 'průhledností':
57 Oblasti vyplněné barvou #FF00FF (magenta) jsou plně průhledné, pokud jsou
58 zobrazovány <application>MPlayer</application>em. To znamená, že můžete mít
59 tvarovaná okna, pokud má váš X server XShape rozšíření.
60 </para>
61 </sect2>
63 <sect2 id="skin-overview-components">
64 <title>Součásti skinu</title>
66 <para>
67 Skiny mají poměrně volný formát (narozdíl například od pevného formátu skinů
68 <application>Winamp</application>u/<application>XMMS</application>),
69 takže je jen na vás, zda vytvoříte něco skvělého.
70 </para>
72 <para>
73 V současnosti jsou zde čtyři okna, která můžete dekorovat:
74 <link linkend="skin-file-main">hlavní okno</link>,
75 <link linkend="skin-file-subwindow">podokno</link>,
76 <link linkend="skin-file-main">ovládací panel</link> a
77 <link linkend="skin-file-menu">nabidka</link> (tu lze aktivovat
78 pravým myšítkem).
80 <itemizedlist>
81 <listitem>
82   <para>
83   <application>MPlayer</application> je ovládán v
84   <emphasis role="bold">hlavním okně</emphasis> a/nebo v
85   <emphasis role="bold">ovládacím panelu</emphasis>. Pozadím okna je obrázek.
86   Následující součásti mohou (a musí) být umístěny v okně:
87   <emphasis>tlačítka</emphasis>, <emphasis>potenciometry</emphasis> (šoupátka)
88   a <emphasis>popisky</emphasis>.
89   Každé součásti musíte nastavit pozici a velikost.
90   </para>
92   <para>
93   A <emphasis role="bold">tlačítko</emphasis> má tři stavy (stisknuto, puštěno a
94   zakázáno), proto musí být jeho obraz svisle rozdělen do tří částí.
95   Detaily viz součást <link linkend="skin-button">tlačítko</link>.
96   </para>
98   <para>
99   A <emphasis role="bold">potenciometr</emphasis> (hlavně používaný pro
100   lištu převíjení a ovládání hlasitosti/stereováhy) může mít libovolný počet
101   fází dělících jeho obraz na jednotlivé části pod sebou. Detaily viz
102   <link linkend="skin-hpotmeter">hpotenciometr</link> a
103   <link linkend="skin-potmeter">potenciometr</link>.
104   </para>
106   <para>
107   <emphasis role="bold">Popisky</emphasis> jsou poněkud zvláštní: Znaky potřebné
108   pro jejich vykreslení jsou brány z obrazového souboru a znaky v obrázku jsou
109   popsány <link linkend="skin-fonts">souborem popisu fontu</link>.
110   Tento (druhý) soubor je prostý textový soubor, který popisuje pozici x,y a
111   velikost každého znaku v obrázku (obrázkový soubor a soubor popisu fontu
112   <emphasis>spolu</emphasis> tvoří font). Detaily viz
113   <link linkend="skin-dlabel">dlabel</link>.
114   </para>
116   <note><para>
117   Všechny obrázky mohou mít plnou průhlednost, jak je popsána v sekci
118   o <link linkend="skin-overview-formats">formátech obrázků</link>. Pokud X
119   server nepodporuje rozšíření XShape, budou průhledné části černé. Pokud byste
120   chtěli využít tuto vlastnost, musí být šířka pozadí hlavního okna celočíselně
121   dělitelná 8.
122   </para></note>
123 </listitem>
125 <listitem><para>
126   <emphasis role="bold">Podokno</emphasis> je to okno, kde se zobrazuje film.
127   Může v něm být zobrazen určený obrázek, pokud není načten žádný film (je
128   docela únavné, pokud zde není nic :-)).
129   <emphasis role="bold">Poznámka:</emphasis> průhlednost zde
130   <emphasis role="bold">není povolena</emphasis>.
131 </para></listitem>
133 <listitem>
134   <para>
135   <emphasis role="bold">Nabídka</emphasis> je jen způsob, jak ovládat
136   <application>MPlayer</application> položkami menu. Vyžadovány jsou dva
137   obrázky: jeden z nich jako menu v normálním stavu a druhý se zvýrazněnými
138   položkami. Když pak vyvoláte menu, je zobrazen první obrázek. Při pohybu myší
139   přes položky, je zkopírována aktuálně vybraná položka z druhého obrázku přes
140   ten první pod kursorem (druhý obrázek není nikdy zobrazen celý).
141   </para>
142   <para>
143   Položka menu je definována svou pozicí a velikostí v obrázku (detaily viz
144   sekce <link linkend="skin-file-menu">nabídka</link>).
145   </para>
146 </listitem>
147 </itemizedlist>
148 </para>
150 <para>
151 Jednu důležitou věc jsme ještě nezmínili: Mají-li tlačítka,
152 potenciometry a položky menu pracovat, musí <application>MPlayer</application>
153 vědět, co má udělat, pokud je na ně kliknuto. To je zajištěno pomocí
154 <link linkend="skin-gui">zpráv</link> (událostí). Pro tyto členy tedy musíte
155 definovat zprávy, které budou při kliku generovány.
156 </para>
157 </sect2>
159 <!-- ********** -->
161 <sect2 id="skin-files">
162 <title>Soubory</title>
164 <para>
165 Pro výrobu skinu budete potřebovat následující:
166 <itemizedlist>
167 <listitem><para>
168   Konfigurační soubor jménem <link linkend="skin-file">skin</link> řekne
169   <application>MPlayer</application>u, jak má dát jednotlivé části skinu
170   dohromady a co udělat, kliknete-li někde v okně.
171 </para></listitem>
172 <listitem><para>
173   Obrázek pozadí hlavního okna.
174 </para></listitem>
175 <listitem><para>
176   Obrázky položek hlavního okna (včetně jednoho nebo více souborů s popisem
177   fontu pro vykreslování popisek).
178 </para></listitem>
179 <listitem><para>
180   Obrázek pro zobrazení v podokně (volitelný).
181 </para></listitem>
182 <listitem><para>
183   Dva obrázky pro nabídku (ty jsou potřeba pouze pokud chcete vytvořit menu).
184 </para></listitem>
185 </itemizedlist>
186   S výjimkou konfiguračního souboru skinu si můžete pojmenovat ostatní soubory
187   jak chcete (s tím, že vaše soubory s popisem fontu budou mít příponu
188   <filename>.fnt</filename>).
189 </para>
190 </sect2>
191 </sect1>
194 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
197 <sect1 id="skin-file">
198 <title>Soubor skin</title>
200 <para>
201 Jak jsme již řekli, je to konfigurační soubor skinu. Soubor je řádkově
202 orientován; řádky s komentářem začínají znakem '<literal>;</literal>'
203 (před ním jsou povoleny jen mezery a tabulátory).
204 </para>
206 <para>
207 Soubor je složen ze sekcí. Každá sekce popisuje skin pro aplikaci a má
208 následující formu:
209 <programlisting>
210 section = <replaceable>název cekce</replaceable>
215 </programlisting>
216 </para>
218 <para>
219 Zatím máme jen jednu aplikaci, takže potřebujete jen jednu sekci: její název je
220 <emphasis role="bold">movieplayer</emphasis>.
221 </para>
223 <para>
224 Uvnitř sekce je každé okno posáno blokem, který má následující formu:
225 <programlisting>
226 window = <replaceable>název okna</replaceable>
231 </programlisting>
232 </para>
234 <para>
235 kde <replaceable>název okna</replaceable> může být jeden z těchto řetězců:
236 <itemizedlist>
237 <listitem><para>
238   <emphasis role="bold">main</emphasis> - pro hlavní okno
239 </para></listitem>
240 <listitem><para>
241   <emphasis role="bold">sub</emphasis> - pro podokno
242 </para></listitem>
243 <listitem><para>
244   <emphasis role="bold">menu</emphasis> - pro nabídku
245 </para></listitem>
246 <listitem><para>
247   <emphasis role="bold">playbar</emphasis> - ovládací panel
248 </para></listitem>
249 </itemizedlist>
250 </para>
252 <para>
253 (Bloky sub a menu jsou volitelné - nemusíte vytvářet nabídku nebo vyzdobit
254 podokno.)
255 </para>
257 <para>
258 Uvnitř window bloku můžete definovat každou položku okna řádkem v tomto tvaru:
259 <programlisting>položka = parametr</programlisting>
260 Kde <literal>položka</literal> je řetězec označující typ položky GUI a
261 <literal>parametr</literal> je číselná nebo textová hodnota (nebo seznam hodnot
262 oddělených čárkami).
263 </para>
265 <para>
266 Dáte-li to všechno dohromady, celý soubor vypadá asi takto:
267 <programlisting>
268 section = movieplayer
269   window = main
270   ; ... položky hlavního okna ...
271   end
273   window = sub
274   ; ... položky podokna ...
275   end
277   window = menu
278   ; ... položky menu ...
279   end
281   window = playbar
282   ; ... položky ovládacího panelu ...
283   end
285 </programlisting>
286 </para>
288 <para>
289 Jméno souboru s obrázkem musí být zadáno bez úvodních adresářů - obrázky jsou
290 vyhledávány v adresáři <filename class="directory">skins</filename>.
291 Měli byste (ale nemusíte) zadat příponu souboru. Pokud soubor neexistuje,
292 zkouší <application>MPlayer</application> načíst soubor
293 <filename>&lt;jméno&gt;.&lt;příp&gt;</filename>, kdy jsou za
294 <filename>&lt;příp&gt;</filename> zkoušeny přípony <literal>png</literal>
295 a <literal>PNG</literal> (v tomto pořadí). Použitý bude první vyhovující soubor.
296 </para>
298 <para>
299 Aby bylo vše jasné, uvedeme příklad. Řekněme, že máte obrázek jménem
300 <filename>main.png</filename>, který použijeme pro hlavní okno:
301 <programlisting>base = main, -1, -1</programlisting>
302 <application>MPlayer</application> se pokusí nahrát soubory
303 <filename>main</filename>, <filename>main.png</filename>, <filename>main.PNG</filename>.
304 </para>
306 <para>
307 Nakonec několik slov o pozicování. Hlavní okno a podokno lze
308 umístit do odlišných rohů obrazovky zadáním souřadnic <literal>X</literal>
309 a <literal>Y</literal>. <literal>0</literal> horní nebo levý,
310 <literal>-1</literal> je střed a <literal>-2</literal> je vpravo nebo dole, jak
311 je vidět na obrázku:
312 <informalfigure>
313 <screen>
314 (0, 0)----(-1, 0)----(-2, 0)
315   |          |          |
316   |          |          |
317 (0,-1)----(-1,-1)----(-2,-1)
318   |          |          |
319   |          |          |
320 (0,-2)----(-1,-2)----(-2,-2)
321 </screen>
322 </informalfigure>
323 </para>
325 <!-- ********** -->
327 <sect2 id="skin-file-main">
328 <title>Hlavní okno a ovládací panel</title>
330 <para>
331 Níže uvádíme seznam položek, které mohou být použity v blocích
332 '<literal>window = main</literal>' ... '<literal>end</literal>',
333 a '<literal>window = playbar</literal>' ... '<literal>end</literal>'.
334 </para>
336 <variablelist>
337 <varlistentry>
338   <term><literal>
339   <anchor id="skin-main-base"/>base = obrázek, X, Y
340   </literal></term>
341   <listitem><para>
342   Umožňuje nastavit obrázek pozadí hlavního okna. Okno bude vykresleno na
343   zadaných souřadnicích <literal>X,Y</literal> na obrazovce a bude mít velikost
344   obrázku.
345   </para>
346   <note><para>
347   Tyto koordináty zatím nefungují pro okno display.
348   </para></note>
349   <warning><para>Průhledné oblasti v obrázku (obarvené #FF00FF) budou černé
350   na X serverech bez XShape rozšíření. Šířka obrázku musí být celočíselně
351   dělitelná 8.</para></warning>
352   </listitem>
353 </varlistentry>
355 <varlistentry>
356   <term><literal>
357   <anchor id="skin-button"/>button = obrázek, X, Y, šířka, výška, zpráva
358   </literal></term>
359   <listitem><para>
360   Umístí tlačítko rozměru <literal>šířka</literal> * <literal>výška</literal>
361   na pozici <literal>X,Y</literal>. Zadaná <literal>zpráva</literal> je
362   generována při kliku na tlačítko. Zadaný <literal>obrázek</literal> musí
363   mít tři části pod sebou (odpovídající možným stavům tlačítka) takto:
364   </para>
365   <informalfigure>
366   <screen>
367 +------------+
368 | stisknuto  |
369 +------------+
370 |  uvolněno  |
371 +------------+
372 |  zakázáno  |
373 +------------+<!--
374   --></screen>
375   </informalfigure>
376   </listitem>
377 </varlistentry>
379 <varlistentry>
380   <term><literal>
381   <anchor id="skin-decoration"/>decoration = enable|disable
382   </literal></term>
383   <listitem><para>
384   Zapne (enable) nebo vypne (disable) dekoraci hlavního okna, produkovanou
385   okenním manažerem. Výchozí je <emphasis role="bold">disable</emphasis>.
386   </para>
387   <note><para>
388   V okně display to nefunguje, není to potřeba.
389   </para></note>
390   </listitem>
391 </varlistentry>
393 <varlistentry>
394   <term><literal>
395   <anchor id="skin-hpotmeter"/>hpotmeter = tlačítko, tšířka, tvýška, fáze, počet_fází, výchozí, X, Y, šířka, výška, zpráva
396   </literal></term>
397   <listitem><para>
398   </para></listitem>
399 </varlistentry>
401 <varlistentry>
402   <term><literal>
403   <anchor id="skin-vpotmeter"/>vpotmeter = tlačítko, tšířka, tvýška, fáze, počet_fází, výchozí, X, Y, šířka, výška, zpráva
404   </literal></term>
405   <listitem><para>
406   Umístí vodorovný (hpotmeter) nebo svislý (vpotmeter) potenciometr velikosti
407   <literal>šířka</literal> * <literal>výška</literal> na pozici
408   <literal>X,Y</literal>. Obrázek může být rozdělen do různých částí pro různé
409   fáze potenciometru (Například můžete mít potenciometr pro nastavení hlasitosti,
410   jehož dráha se barví ze zelené na červenou, jak se jeho hodnota mění od nejmenší
411   do největší.). <literal>hpotmeter</literal> může mít táhlo, které může být
412   vodorovně taženo. Význam parametrů:
413   <itemizedlist>
414   <listitem><para>
415     <literal>tlačítko</literal> - obrázek, který se použije pro
416     tlačítko (musí mít tři části pod sebou, stejně jako v případě tohoto
417     <link linkend="skin-button">tlačítka</link>)
418   </para></listitem>
419   <listitem><para>
420     <literal>tšířka</literal>, <literal>tvýška</literal> -
421     velikost tlačítka
422   </para></listitem>
423   <listitem><para>
424     <literal>fáze</literal> - obrázek použitý pro různé fáze
425     hpotmetru. Pokud žádný obrázek nechcete, můžete použít speciální hodnotu
426     <literal>NULL</literal>. Obrázek musí být rozdělen svisle na
427     <literal>počet_fází</literal> částí takto:
428     <informalfigure><screen>
429 +------------+
430 |   fáze #1  |
431 +------------+
432 |   fáze #2  |
433 +------------+
434      ...
435 +------------+
436 |   fáze #n  |
437 +------------+<!--
438     --></screen></informalfigure>
439   </para></listitem>
440   <listitem><para>
441     <literal>numphases</literal> - number of phases stored in the
442     <literal>počet_fází</literal> - počet fází uložených v
443     obrázku <literal>fáze</literal>
444     </para></listitem>
445     <listitem><para>
446       <literal>výchozí</literal> - výchozí hodnota pro hpotmeter
447       (v rozsahu <literal>0</literal> až <literal>100</literal>)
448       </para></listitem>
449     <listitem><para>
450       <literal>X</literal>, <literal>Y</literal> - pozice pro hpotmeter
451     </para></listitem>
452     <listitem><para>
453       <literal>šířka</literal>, <literal>výška</literal> - šířka a výška
454       <literal>hpotmeter</literal>u
455     </para></listitem>
456     <listitem><para>
457       <literal>zpráva</literal> - zpráva generovaná při změně
458       hodnoty <literal>hpotmeter</literal>u
459   </para></listitem>
460   </itemizedlist>
461   </para></listitem>
462 </varlistentry>
464 <varlistentry>
465   <term><literal>
466   <anchor id="skin-potmeter"/>potmeter = fáze, počet_fází, výchozí, X, Y, šířka, výška, zpráva
467   </literal></term>
468   <listitem><para>
469   <literal>hpotmeter</literal> bez tlačítka. (soudil bych, že byl míněn jako
470   otočný, ale reaguje pouze na horizontální tažení.) Popis parametrů je stejný
471   jako v <link linkend="skin-hpotmeter">hpotmeter</link>.
472   <literal>fáze</literal> mohou být <literal>NULL</literal>, ale je to vcelku
473   k ničemu, jelikož nemůžete vidět, jak je nastaven <literal>potmeter</literal>.
474   </para></listitem>
475 </varlistentry>
477 <varlistentry>
478   <term><literal>
479   <anchor id="skin-font"/>font = soubor_fontu, id_fontu
480   </literal></term>
481   <listitem><para>
482   Definuje font. <literal>soubor_fontu</literal> je jméno souboru popisu fontu
483   s příponou <filename>.fnt</filename> (zde příponu nezadávejte).
484   <literal>id_fontu</literal> je použit jako ukazatel na font
485   (viz <link linkend="skin-dlabel">dlabel</link>
486   a <link linkend="skin-slabel">slabel</link>). Definováno může být více než 25 fontů.
487   </para></listitem>
488 </varlistentry>
490 <varlistentry>
491   <term><literal>
492     <anchor id="skin-slabel"/>slabel = X, Y, id_fontu, "text";
493   </literal></term>
494   <listitem><para>
495   Umístí statický popisek na pozici <literal>X,Y</literal>.
496   <literal>text</literal> je zobrazen fontem identifikovaným pomocí
497   <literal>id_fontu</literal>. Text je surový řetězec
498   (<literal>$x</literal> proměnné nefungují), který musí být uzavřen
499   ve dvojitých uvozovkách (ale znak " nesmí být součástí textu).
500   Popisek je zobrazen fontem identifikovaným pomocí <literal>id_fontu</literal>.
501   </para></listitem>
502 </varlistentry>
504 <varlistentry>
505   <term><literal>
506     <anchor id="skin-dlabel"/>dlabel = X, Y, délka, zarovnání, id_fontu, "text"
507   </literal></term>
508   <listitem>
509   <para>
510   Umístí dynamický popisek na pozici <literal>X,Y</literal>. Popisek je
511   dynamický proto, že je jeho text periodicky obnovován. Maximální délka
512   popisku je nastavena na <literal>délka</literal> (jeho výškou je výška
513   znaku). Pokud je zobrazovaný text širší, pak bude rolován,
514   jinak bude zarovnán do určeného prostoru podle hodnoty parametru
515   <literal>zarovnání</literal>: <literal>0</literal> je zarovnání vpravo,
516   <literal>1</literal> na střed, <literal>2</literal> vlevo.
517   </para>
518   <para>
519   Text k zobrazení je zadán parametrem <literal>text</literal>: Musí být uzavřen
520   do dvojitých uvozovek (ale znak " nesmí být součástí textu).
521   Popisek je zobrazen fontem identifikovaným pomocí <literal>id_fontu</literal>.
522   V textu můžete použít tyto proměnné:
523   </para>
525   <informaltable>
526   <tgroup cols="2">
527   <thead>
528     <row><entry>Proměnná</entry><entry>Význam</entry></row>
529   </thead>
530   <tbody>
531   <row>
532     <entry>$1</entry>
533     <entry>čas přehrávání ve formátu <emphasis>hh:mm:ss</emphasis></entry>
534   </row>
535   <row>
536     <entry>$2</entry>
537     <entry>čas přehrávání ve formátu <emphasis>mmmm:ss</emphasis></entry>
538   </row>
539   <row>
540     <entry>$3</entry>
541     <entry>čas přehrávání ve formátu <emphasis>hh</emphasis> (hodiny)</entry>
542   </row>
543   <row>
544     <entry>$4</entry>
545     <entry>čas přehrávání ve formátu <emphasis>mm</emphasis> (minuty)</entry>
546   </row>
547   <row>
548     <entry>$5</entry>
549     <entry>čas přehrávání ve formátu <emphasis>ss</emphasis> (sekundy)</entry>
550   </row>
551   <row>
552     <entry>$6</entry>
553     <entry>délka filmu ve formátu <emphasis>hh:mm:ss</emphasis></entry>
554   </row>
555   <row>
556     <entry>$7</entry>
557     <entry>délka filmu ve formátu <emphasis>mmmm:ss</emphasis></entry>
558   </row>
559   <row>
560     <entry>$8</entry>
561     <entry>čas přehrávání ve formátu <emphasis>h:mm:ss</emphasis></entry>
562   </row>
563   <row>
564     <entry>$v</entry>
565     <entry>hlasitost ve formátu <emphasis>xxx.xx</emphasis>%</entry>
566   </row>
567   <row>
568     <entry>$V</entry>
569     <entry>hlasitost ve formátu <emphasis>xxx.xx</emphasis></entry>
570   </row>
571   <row>
572     <entry>$b</entry>
573     <entry>stereováha ve formátu <emphasis>xxx.xx</emphasis>%</entry>
574   </row>
575   <row>
576     <entry>$B</entry>
577     <entry>stereováha ve formátu <emphasis>xxx.xx</emphasis></entry>
578   </row>
579   <row>
580     <entry>$$</entry>
581     <entry>znak $</entry>
582   </row>
583   <row>
584     <entry>$a</entry>
585     <entry>znak podle typu audia (žádné: <literal>n</literal>,
586     mono: <literal>m</literal>, stereo: <literal>t</literal>)</entry>
587   </row>
588   <row>
589     <entry>$t</entry>
590     <entry>číslo stopy (v playlistu)</entry>
591   </row>
592   <row>
593     <entry>$o</entry>
594     <entry>název souboru</entry>
595   </row>
596   <row>
597     <entry>$f</entry>
598     <entry>název souboru malými písmeny</entry>
599   </row>
600   <row>
601     <entry>$F</entry>
602     <entry>název souboru velkými písmeny</entry>
603   </row>
604   <row>
605     <entry>$T</entry>
606     <entry>znak podle typu datového proudu (soubor: <literal>f</literal>,
607     Video CD: <literal>v</literal>, DVD: <literal>d</literal>,
608     URL: <literal>u</literal>)
609     </entry>
610   </row>
611   <row>
612     <entry>$p</entry>
613     <entry>znak <keycap>p</keycap> (pokud přehráváte soubor a font obsahuje
614     znak <keycap>p</keycap>)</entry>
615   </row>
616   <row>
617     <entry>$s</entry>
618     <entry>znak <keycap>s</keycap> character (pokud přehráváte soubor a font obsahuje
619     znak <keycap>s</keycap>)</entry>
620   </row>
621   <row>
622     <entry>$e</entry>
623     <entry>znak <keycap>e</keycap> (pokud je přehrávání pozastaveno a font obsahuje
624     znak <keycap>e</keycap>)</entry>
625   </row>
626   <row>
627     <entry>$x</entry>
628     <entry>šířka filmu</entry>
629   </row>
630   <row>
631     <entry>$y</entry>
632     <entry>výška filmu</entry>
633   </row>
634   <row>
635     <entry>$C</entry>
636     <entry>název použitého kodeku</entry>
637   </row>
638   </tbody>
639   </tgroup>
640   </informaltable>
642   <note><para>
643   Proměnné <literal>$a, $T, $p, $s</literal> a <literal>$e</literal>
644   vracejí znaky, které by měly být zobrazovány jako speciální symboly
645   (například, <keycap>e</keycap> vrací symbol pauza, který obvykle vypadá
646   jako ||). Měli byste mít font pro normální znaky a
647   jiný font pro symboly. Více informací viz sekce o
648   <link linkend="skin-fonts-symbols">symbolech</link>.
649   </para></note>
650   </listitem>
651 </varlistentry>
652 </variablelist>
653 </sect2>
655 <!-- ********** -->
657 <sect2 id="skin-file-subwindow">
658 <title>Ovládací panel</title>
660 <para>
661 Následující vstupy mohou být použity v bloku
662 '<literal>window = sub</literal>' . . . '<literal>end</literal>'.
663 </para>
665 <variablelist>
666 <varlistentry>
667   <term><literal>
668   <anchor id="skin-sub-base"/>base = obrázek, X, Y, šířka, výška
669   </literal></term>
670   <listitem><para>
671   Obrázek, který bude zobrazen v okně. Okno se zobrazí na pozici zadané
672   souřadnicemi <literal>X,Y</literal> na obrazovce (<literal>0,0</literal> je
673   levý horní roh). Můžete nastavit <literal>-1</literal> pro střed a
674   <literal>-2</literal> pro vpravo (<literal>X</literal>) a dole
675   (<literal>Y</literal>). Okno bude stejně velké jako obrázek.
676   <literal>šířka</literal> a <literal>výška</literal>
677   udávají velikost okna; jsou volitelné (pokud chybí, má okno
678   rozměry shodné  s obrázkem).
679   </para></listitem>
680 </varlistentry>
682 <varlistentry>
683   <term><literal>
684   <anchor id="skin-background"/>background = R, G, B
685   </literal></term>
686   <listitem><para>
687   Umožňuje nastavit barvu pozadí. To je užitečné, pokud je obrázek menší než
688   okno. <literal>R</literal>, <literal>G</literal> a <literal>B</literal>
689   označují červenou, zelenou a modrou složku barvy
690   (každá z nich je dekadická hodnota 0 až 255).
691   </para></listitem>
692 </varlistentry>
693 </variablelist>
694 </sect2>
696 <!-- ********** -->
698 <sect2 id="skin-file-menu">
699 <title>Nabídka</title>
701 <para>
702 Jak již bylo dříve řečeno, nabídka je zobrazena pomocí dvou obrázků. Normální
703 položky nabídky jsou brány z obrázku určeného položkou <literal>base</literal>,
704 zatímco aktuálně zvolený vstup je brán z obrázku určeného položkou
705 <literal>selected</literal>. Musíte definovat pozici a rozměr každé položky
706 nabídky.
707 </para>
709 <para>
710 Následující vstupy mohou být použity v bloku
711 '<literal>window = menu</literal>'. . .'<literal>end</literal>'.
712 </para>
714 <variablelist>
715 <varlistentry>
716   <term><literal>
717   <anchor id="skin-menu-base"/>base = obrázek
718   </literal></term>
719   <listitem><para>
720   Obrázek normálních položek nabídky.
721   </para></listitem>
722 </varlistentry>
724 <varlistentry>
725   <term><literal>
726   <anchor id="skin-selected"/>selected = obrázek
727   </literal></term>
728   <listitem><para>
729   Obrázek nabídky kde jsou všechny položky vybrány.
730   </para></listitem>
731 </varlistentry>
733 <varlistentry>
734   <term><literal>
735   <anchor id="skin-menu"/>menu = X, Y, šířka, výška, zpráva
736   </literal></term>
737   <listitem><para>
738   Definuje pozici <literal>X,Y</literal> a rozměr položky nabídky v obrázku.
739   <literal>zpráva</literal> je zpráva, generovaná jakmile je uvolněno tlačítko
740   myši nad položkou.
741   </para></listitem>
742 </varlistentry>
743 </variablelist>
744 </sect2>
745 </sect1>
748 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
751 <sect1 id="skin-fonts">
752 <title>Fonty</title>
753 <para>
754 Jak jsme již zmínili v sekci o částech skinu, font je definován obrázkem a
755 souborem popisu. Můžete rozmístit znaky v obrázku libovolně, ale ujistěte
756 se, že je jejich velikost a pozice je uvedena v souboru popisu přesně.
757 </para>
759 <para>
760 Soubor popisu fontu (s příponou <filename>.fnt</filename>) může obsahovat
761 řádky s komentářem začínající '<literal>;</literal>'. Soubor musí obsahovat
762 řádek ve formě
763 <anchor id="skin-font-image"/>
764 <programlisting>image = <replaceable>obrázek</replaceable></programlisting>
765 Kde <literal><replaceable>obrázek</replaceable></literal> je název obrázku
766 použitého pro font (nemusíte zadávat příponu).
767 <anchor id="skin-font-char"/>
768 <programlisting>"char" = X, Y, šířka, výška</programlisting>
769 Zde <literal>X</literal> a <literal>Y</literal> udávají pozici
770 <literal>char</literal> znaku v obrázku (<literal>0,0</literal> je levý
771 horní roh). <literal>šířka</literal> a <literal>výška</literal> jsou
772 rozměry znaku v pixelech.
773 </para>
775 <para>
776 Tento příklad definuje znaky A, B, C s použítím <filename>font.png</filename>.
777 <programlisting>
778 ; Zde může být jen "font" místo "font.png".
779 image = font.png
781 ; Tři znaky pro ilustraci stačí :-)
782 "A" =  0,0, 7,13
783 "B" =  7,0, 7,13
784 "C" = 14,0, 7,13
785 </programlisting>
786 </para>
788 <!-- ********** -->
790 <sect2 id="skin-fonts-symbols">
791 <title>Symboly</title>
793 <para>
794 Některé znaky mají speciální význam, jsou-li vráceny některou z proměnných
795 použitých v <link linkend="skin-dlabel">dlabel</link>. Tyto znaky mají být
796 zobrazovány jako symboly, takže mohou být zobrazeny věci jako pěkné DVD logo
797  místo znaku '<literal>d</literal>' pro DVD datový proud.
798 </para>
800 <para>
801 Následující tabulka obsahuje znaky, které mohou být použity k zobrazení
802 symbolů (a tudíž vyžadují odlišný font).
803 </para>
805 <informaltable>
806 <tgroup cols="2">
807 <thead>
808   <row><entry>Znak</entry><entry>Symbol</entry></row>
809 </thead>
810 <tbody>
811   <row><entry><keycap>p</keycap></entry><entry>play</entry></row>
812   <row><entry><keycap>s</keycap></entry><entry>stop</entry></row>
813   <row><entry><keycap>e</keycap></entry><entry>pauza</entry></row>
814   <row><entry><keycap>n</keycap></entry><entry>bez zvuku</entry></row>
815   <row><entry><keycap>m</keycap></entry><entry>mono zvuk</entry></row>
816   <row><entry><keycap>t</keycap></entry><entry>stereo zvuk</entry></row>
817   <row><entry><keycap>f</keycap></entry><entry>datový proud je soubor</entry></row>
818   <row><entry><keycap>v</keycap></entry><entry>datový proud je Video CD</entry></row>
819   <row><entry><keycap>d</keycap></entry><entry>datový proud je DVD</entry></row>
820   <row><entry><keycap>u</keycap></entry><entry>datový proud je URL</entry></row>
821 </tbody>
822 </tgroup>
823 </informaltable>
824 </sect2>
825 </sect1>
828 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
831 <sect1 id="skin-gui">
832 <title>GUI zprávy</title>
834 <para>
835 Tyto zprávy mohou být generovány tlačítky, potenciometry a položkami
836 nabídky.
837 </para>
839 <variablelist>
840 <title>Ovládání přehrávání:</title>
841 <varlistentry>
842   <term><emphasis role="bold">evNext</emphasis></term>
843   <listitem><para>
844   Skočí na následující stopu v playlistu.
845   </para></listitem>
846 </varlistentry>
848 <varlistentry>
849   <term><emphasis role="bold">evPause</emphasis></term>
850   <listitem><para>
851   Tvoří přepínač společně s <literal>evPlaySwitchToPause</literal>. Ty mohou
852   být použity k vytvoření tradičního play/pauza tlačítka. Obě zprávy by měly
853   být přiřazeny tlačítkům umístěným na stejné pozici v okně. Tato zpráva
854   pozastaví přehrávání a zobrazen bude obrázek pro
855   <literal>evPlaySwitchToPause</literal> talčítko (pro indikaci, že tlačítko
856   může být stisknuto pro obnovení přehrávání).
857   </para></listitem>
858 </varlistentry>
860 <varlistentry>
861   <term><emphasis role="bold">evPlay</emphasis></term>
862   <listitem><para>
863   Zahájí přehrávání.
864   </para></listitem>
865 </varlistentry>
867 <varlistentry>
868   <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
869   <listitem><para>
870   Protiklad <literal>evPauseSwitchToPlay</literal>. Tato zpráva zahájí přehrávání
871   a zobrazí obrázek pro tlačítko <literal>evPauseSwitchToPlay</literal>
872   (pro indikaci, že tlačítko může být stisknuto pro pozastavení přehrávání).
873   </para></listitem>
874 </varlistentry>
876 <varlistentry>
877   <term><emphasis role="bold">evPrev</emphasis></term>
878   <listitem><para>
879   Skočí na předchozí stopu v playlistu.
880   </para></listitem>
881 </varlistentry>
883 <varlistentry>
884   <term><emphasis role="bold">evStop</emphasis></term>
885   <listitem><para>
886   Zastaví přehrávání.
887   </para></listitem>
888 </varlistentry>
889 </variablelist>
891 <variablelist>
892 <title>Převíjení:</title>
893 <varlistentry>
894   <term><emphasis role="bold">evBackward10sec</emphasis></term>
895   <listitem><para>
896   Převine zpět o 10 sekund.
897   </para></listitem>
898 </varlistentry>
900 <varlistentry>
901   <term><emphasis role="bold">evBackward1min</emphasis></term>
902   <listitem><para>
903   Převine zpět o 1 minutu.
904   </para></listitem>
905 </varlistentry>
907 <varlistentry>
908   <term><emphasis role="bold">evBackward10min</emphasis></term>
909   <listitem><para>
910   Převine zpět o 10 minut.
911   </para></listitem>
912 </varlistentry>
914 <varlistentry>
915   <term><emphasis role="bold">evForward10sec</emphasis></term>
916   <listitem><para>
917   Převine vpřed o 10 sekund.
918   </para></listitem>
919 </varlistentry>
921 <varlistentry>
922   <term><emphasis role="bold">evForward1min</emphasis></term>
923   <listitem><para>
924   Převine vpřed o 1 minutu.
925   </para></listitem>
926 </varlistentry>
928 <varlistentry>
929   <term><emphasis role="bold">evForward10min</emphasis></term>
930   <listitem><para>
931   Převine vpřed o 10 minut.
932   </para></listitem>
933 </varlistentry>
935 <varlistentry>
936   <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
937   <listitem><para>
938   Převine na danou pozici (může být přiřazeno potenciometru; použije se
939   relativní hodnota (0-100%) potenciometru).
940   </para></listitem>
941 </varlistentry>
942 </variablelist>
944 <variablelist>
945 <title>Ovládání videa:</title>
946 <varlistentry>
947   <term><emphasis role="bold">evHalfSize</emphasis></term>
948   <listitem><para>
949   Nastaví velikost okna filmu na poloviční velikost.
950   </para></listitem>
951 </varlistentry>
952 <varlistentry>
953   <term><emphasis role="bold">evDoubleSize</emphasis></term>
954   <listitem><para>
955   Nastaví velikost okna filmu na dvojnásobnou velikost.
956   </para></listitem>
957 </varlistentry>
958 <varlistentry>
959   <term><emphasis role="bold">evFullScreen</emphasis></term>
960   <listitem><para>
961   Přepíná do celoobrazovkového režimu a zpět.
962   </para></listitem>
963 </varlistentry>
964 <varlistentry>
965   <term><emphasis role="bold">evNormalSize</emphasis></term>
966   <listitem><para>
967   Nastaví velikost okna na normální velikost.
968   </para></listitem>
969 </varlistentry>
970 </variablelist>
972 <variablelist>
973 <title>Ovládání zvuku:</title>
974 <varlistentry>
975   <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
976   <listitem><para>
977   Sníží zpoždění vyrovnávací paměti zvuku.
978   </para></listitem>
979 </varlistentry>
981 <varlistentry>
982   <term><emphasis role="bold">evDecBalance</emphasis></term>
983   <listitem><para>
984   Sníží hodnotu stereováhy.
985   </para></listitem>
986 </varlistentry>
988 <varlistentry>
989   <term><emphasis role="bold">evDecVolume</emphasis></term>
990   <listitem><para>
991   Sníží hlasitost.
992   </para></listitem>
993 </varlistentry>
995 <varlistentry>
996   <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
997   <listitem><para>
998   Zvýší zpoždění vyrovnávací paměti zvuku.
999   </para></listitem>
1000 </varlistentry>
1002 <varlistentry>
1003   <term><emphasis role="bold">evIncBalance</emphasis></term>
1004   <listitem><para>
1005   Zvýší hodnotu stereováhy.
1006   </para></listitem>
1007 </varlistentry>
1009 <varlistentry>
1010   <term><emphasis role="bold">evIncVolume</emphasis></term>
1011   <listitem><para>
1012   Zvýší hlasitost.
1013   </para></listitem>
1014 </varlistentry>
1016 <varlistentry>
1017   <term><emphasis role="bold">evMute</emphasis></term>
1018   <listitem><para>
1019   Vypne/zapne zvuk.
1020   </para></listitem>
1021 </varlistentry>
1023 <varlistentry>
1024   <term><emphasis role="bold">evSetBalance</emphasis></term>
1025   <listitem><para>
1026   Nastaví stereováhu (může být sdruženo s potenciometrem; použije se
1027   relativní hodnota potenciometru (0-100%)).
1028   </para></listitem>
1029 </varlistentry>
1031 <varlistentry>
1032   <term><emphasis role="bold">evSetVolume</emphasis></term>
1033   <listitem><para>
1034   Nastaví hlasitost (může být sdruženo s potenciometrem; použije se
1035   relativní hodnota potenciometru (0-100%)).
1036   </para></listitem>
1037 </varlistentry>
1038 </variablelist>
1040 <variablelist>
1041 <title>Různé:</title>
1042 <varlistentry>
1043   <term><emphasis role="bold">evAbout</emphasis></term>
1044   <listitem><para>
1045   Otevře okno o aplikaci.
1046   </para></listitem>
1047 </varlistentry>
1049 <varlistentry>
1050   <term><emphasis role="bold">evDropSubtitle</emphasis></term>
1051   <listitem><para>
1052   Vypne aktuálně použité titulky.
1053   </para></listitem>
1054 </varlistentry>
1056 <varlistentry>
1057   <term><emphasis role="bold">evEqualizer</emphasis></term>
1058   <listitem><para>
1059   Zapne/vypne ekvalizér.
1060   </para></listitem>
1061 </varlistentry>
1063 <varlistentry>
1064   <term><emphasis role="bold">evExit</emphasis></term>
1065   <listitem><para>
1066   Ukončí program.
1067   </para></listitem>
1068 </varlistentry>
1070 <varlistentry>
1071   <term><emphasis role="bold">evIconify</emphasis></term>
1072   <listitem><para>
1073   Minimalizuje okno.
1074   </para></listitem>
1075 </varlistentry>
1077 <varlistentry>
1078   <term><emphasis role="bold">evLoad</emphasis></term>
1079   <listitem><para>
1080   Otevře soubor (otevřením okna prohlížeče souborů, kde si soubor vyberete).
1081   </para></listitem>
1082 </varlistentry>
1084 <varlistentry>
1085   <term><emphasis role="bold">evLoadPlay</emphasis></term>
1086   <listitem><para>
1087   Stejné jako <literal>evLoad</literal>, ale navíc se okamžitě spustí přehrávání
1088   otevřeného souboru.
1089   </para></listitem>
1090 </varlistentry>
1092 <varlistentry>
1093   <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
1094   <listitem><para>
1095   Otevře soubor s titulky (pomocí prohlížeče souborů)
1096   </para></listitem>
1097 </varlistentry>
1099 <varlistentry>
1100   <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
1101   <listitem><para>
1102   Otevře soubor se zvukem (pomocí prohlížeče souborů)
1103   </para></listitem>
1104 </varlistentry>
1106 <varlistentry>
1107   <term><emphasis role="bold">evNone</emphasis></term>
1108   <listitem><para>
1109   Prázdná zpráva, nemá žádný efekt (možná s výjimkou Subversion verzí :-)).
1110   </para></listitem>
1111 </varlistentry>
1113 <varlistentry>
1114   <term><emphasis role="bold">evPlaylist</emphasis></term>
1115   <listitem><para>
1116   Otevře/zavře okno playlistu.
1117   </para></listitem>
1118 </varlistentry>
1120 <varlistentry>
1121   <term><emphasis role="bold">evPlayDVD</emphasis></term>
1122   <listitem><para>
1123   Zkusí otevřít disk v zadané DVD-ROM mechanice.
1124   </para></listitem>
1125 </varlistentry>
1127 <varlistentry>
1128   <term><emphasis role="bold">evPlayVCD</emphasis></term>
1129   <listitem><para>
1130   Zkusí otevřít disk v zadané CD-ROM mechanice.
1131   </para></listitem>
1132 </varlistentry>
1134 <varlistentry>
1135   <term><emphasis role="bold">evPreferences</emphasis></term>
1136   <listitem><para>
1137   Otevře okno předvoleb.
1138   </para></listitem>
1139 </varlistentry>
1141 <varlistentry>
1142   <term><emphasis role="bold">evSetAspect</emphasis></term>
1143   <listitem><para>
1144   Nastaví poměr stran zobrazovaného obrázku.
1145   </para></listitem>
1146 </varlistentry>
1148 <varlistentry>
1149   <term><emphasis role="bold">evSetURL</emphasis></term>
1150   <listitem><para>
1151   Zobrazí dialogové okno pro volbu URL.
1152   </para></listitem>
1153 </varlistentry>
1155 <varlistentry>
1156   <term><emphasis role="bold">evSkinBrowser</emphasis></term>
1157   <listitem><para>
1158   Otevře okno voliče skinů.
1159   </para></listitem>
1160 </varlistentry>
1161 </variablelist>
1162 </sect1>
1165 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
1168 <sect1 id="skin-quality">
1169 <title>Tvorba kvalitních skinů</title>
1171 <para>
1172 Co když jste si přečetli o skinech pro GUI
1173 <application>MPlayer</application>u, odvedli to nejlepší s
1174 <application>Gimp</application>em a chcete nám poslat svůj skin?
1175 Přečtěte si pár návodů, abyste se vyhnuli běžným omylům a vytvořili
1176 vysoce kvalitní skin.
1177 </para>
1179 <para>
1180 Chceme, aby skiny, které přidáme do našeho repozitáře odpovídaly
1181 určitým standardům kvality. Je zde také mnoho věcí, které můžete
1182 udělat, abyste nám ulehčili práci.
1183 </para>
1185 <para>
1186 Za příklad si vemte skin <systemitem>Blue</systemitem>.
1187 Ten splňuje všechna kritéria od verze 1.5.
1188 </para>
1190 <itemizedlist>
1191   <listitem><para>
1192   Ke každému skinu by měl být soubor
1193   <filename>README</filename>, obsahující informace o vás jako autorovi,
1194   o copyrightu a licenci a vše ostatní, co chcete dodat.
1195   Chcete-li mít changelog, tento soubor je dobrým místem.
1196   </para></listitem>
1198   <listitem><para>
1199   Měl by tu být soubor <filename>VERSION</filename>
1200   neobsahující nic jiného, než číslo verze na jediném řádku (např. 1.0).
1201   </para></listitem>
1203   <listitem><para>
1204   Horizontální a vertikální ovládání (posuvníky jako hlasitost
1205   nebo pozice) by měly mít střed knoflíku správně zarovnán na stred posuvníku.
1206   Mělo by být možné posouvat knoflík na oba konce posuvníku, ale ne za ně.
1207   </para></listitem>
1209   <listitem><para>
1210   Jednotlivé součásti skinu by měly mít správné rozměry
1211   deklarované v souboru skin. Pokud to tak není, můžete kliknout mimo např.
1212   tlačítko a to se stejně stiskne, nebo kliknout na jeho plochu a nestisknout
1213   jej.
1214   </para></listitem>
1216   <listitem><para>
1217   Soubor <filename>skin</filename> by měl být srovnán na znaky
1218   a neobsahovat tabulátory. Srovnán na znaky znamená, že se čísla budou rovnat
1219   do úhledných sloupců.
1220   </para></listitem>
1221 </itemizedlist>
1223 </sect1>
1224 </appendix>