Skórki - Katalog elementów

Wszystkie informacje niezbędne dla skórek w formie katalogu.

Struktura skórki
Struktura pliku SkinInfo.txt
Struktura pliku Interface.xml
Wykaz tagów Interface.xml
Wykaz parametrów tagów Interface.xml
Rodzaje elementów skórki
Wykaz wszystkich elementów skórki

Struktura skórki

Plik Funkcja Wymagania
Skórka.las Łączy wszystkie pliki skórki w jeden niezrozumiały plik, którego niedoświadczony użytkownik nie rozpakuje.
  1. Nazwa pliku: jakiś.las (do celów osobistych można używać .zip lub w ogóle nie spakowanej skórki);
  2. archiwum w formacie ZIP;
  3. algorytm kompresji DEFLATE (używany w archiwizerach domyślnie);
  4. metoda kompresji (szybka/normalna/maksymalna, itp.) - dowolna, ale zalecana jest maksymalna.
SkinInfo.txt Informacja o skórce w oknie ustawień
  1. Nazwa pliku: "SkinInfo.txt";
  2. Kodowanie: UTF-8 with signature (również - UTF-8 BOM).
Preview.png Podgląd skórki w oknie ustawień
  1. Nazwa pliku: "Preview.png";
  2. Parametry zapisu w PNG: dowolne;
  3. Rozmiar obrazka: 200х150.
Interface.xml Opisuje, co, gdzie i jak będzie się znajdowało
  1. Nazwa pliku: "Interface.xml";
  2. Kodowanie: UTF-8 with signature (również - UTF-8 BOM).
Skin.bmp Źródło całej grafiki skórki
  1. Nazwa pliku: dowolna;
  2. Przestrzeń kolorów: dowolna (24 bit/256/16/2 kolorów);
  3. Kompresja w RLE nie jest zalecana, tzn. to osłabia kompresję całej skórki i będzie ona duża;
  4. konieczne jest unikanie pozostawiania dużo wolnego miejsca (ale nie kosztem wygody);
  5. konieczne jest rozdzielanie wszystkich obrazków w pliku odstępami 1 piksela (łącznie z odstępami między z stanami przycisku) dla wygody oglądania i późniejszej adjustacji.

Struktura pliku SkinInfo.txt

Parametry:

Plik SkinInfo.txt składa się z 5-ciu linii. Ograniczenie dla każdej linii - nie więcej niż 45 znaków. Zawijanie linii jest niedozwolone.

Linia Wartość
SkinTitle Nazwa skórki
SkinAuthor Autor skórki (nazwisko lub pseudonim)
SkinVer Wersja skórki
SkinWWW Strona WWW skórki; zalecane jest podawanie odnośników do tematu na oficjalnym forum, lecz niekoniecznie.
SkinCmt Komentarz do skórki o dowolnej treści
SkinAudio Jesli "0", to skóra jest uważana za dostępną tylko w trybie normalnym;
jeśli "1", to skórka będzie dostępna tylko w trybie audio.

Przykład:

SkinTitle=Dub Audio SkinAuthor=Gilorn, Dvigok SkinVer=4.7.5.2 SkinWWW=http://www.light-alloy.ru/forum/ru_skins/dub_audio/ SkinCmt=Dub skin for audio SkinAudio=1

Struktura pliku Interface.xml

<SKIN minsize="," type="standart">
Blok do określania stałych graficznych (podbloki mogą znajdować się w dowolnej kolejności)
<IMAGE id="Logo" file="logo.bmp"> stała logotypu
<IMAGE id="HD" file="Header.bmp"> stałe górnego panelu (nagłówka)
<IMAGE id="FT" file="Footer.bmp"> stałe dolnego panelu (panelu sterowania)
<IMAGE id="PL" file="Playlist.bmp"> stałe panelu listy odtwarzania
<IMAGE id="Menu" file="Menu.bmp"> stałe menu kontekstowego
<IMAGE id="Hint" file="Hint.bmp"> stałe wyskakujących podpowiedzi
<IMAGE id="Color" file="Color.bmp"> stałe ustawień kolorów
Każdy "IMAGE" składa się z oddzielnych elementów - AREA.
blok rozpoznawania czcionek graficznych <FONT id="Digits" img="FT.Digits" chars=" 0123456789:"/>
Stosowanie kontrolek (podbloki mogą znajdować się w dowolnej kolejności)
<CTLDEF id="WndBorder" type="Panel" bg="HD.brd" size="29,52" bgsplit="14,24"/> ramka
<CTLDEF id="Caption" type="Panel" bg="HD.bg" size="400,21" bgsplit="14,10"> nagłówek
<CTLDEF id="CtlPanel" type="Panel" bg="FT.bg" size="400,84" bgsplit="10,10"> panel sterowania
<CTLDEF id="PListPanel" type="Panel" bg="PL.bg" size="29,46" bgsplit="7,23"> panel listy odtwarzania
Każdy "CTLDEF" (z wyjątkiem CTLDEF id="WndBorder") składa się z oddzielnych elementów - CONTROL.

Parametru "id" w większości przypadków nie należy zmieniać (wyjątki: IMAGE id="HD", IMAGE id="FT", IMAGE id="PL", ale dla czytelności zalecane jest, aby również ich nie zmieniać).

Wykaz tagów Interface.xml

Tag Znaczenie Dostępne parametry
SKIN Kontener dla wszystkich innych tagów -
   IMAGE Nominalny blok stałych z odniesieniem do pliku źródłowego id, file
      AREA Tworzy stałe graficzne id, pos, size
   FONT Tworzy czcionki graficzne i główne stałe id, img, chars
   CTLDEF Nominalny blok kontrolek. Przedstawia jeden z twardo określonych paneli id, type, bg, size, bgsplit, bgsplit_lt, bgsplit_rb
      CONTROL Tworzy kontrolki.
Kontrolka typu "panel" może zawierać inne kontrolki
type, align, pos, size, bgsplit, img, link,
font, fontsz, top_delta, bold, bg, bgsplit, variable, text,
bgfill, chapter, chapter_pos, digits_ypos, thumb, ticks_ypos, lotick, hitick, OpeningPos, OpeningHeight

Wykaz parametrów tagów Interface.xml

Atrybut Funkcja Składnia Dostępny dla tagów
alignopcjonalne Umieszcza kontrolkę poziomo w środku. Ponadto pomija wartość pozycji w poziomie. Zalecane do umieszczenia w centrum paneli, w których będą znajdować się inne kontrolki. align="center"
только так и никак иначе
CONTROL
type = Panel | GfxBtn
bg Definiuje obrazek tła kontrolek i grupy kontrolek (oprócz przycisków) bg="(IMAGE id).(AREA id)"
Np. bg="HD.bg"
CTLDEF, CONTROL
(oprócz przycisków)
bgfill Definiuje obrazek tła pokrywający obszar kontrolek "głośność" i "oś czasu" bgfill="(IMAGE id).(AREA id)"
Np. bgfill="FT.VolBGF"
CONTROL
type = slider | seeker
bgsplit Określa piksel, wg którego zajdzie rozciąganie kontrolki (oprócz przycisków).
Jeśli ramka okna określana jest przez piksel z lewej i wyżej którego ramka nie będzie rozciągania.
bgsplit="x,y"
x,y - liczby całkowite, większe od zera
Na przykład: bgsplit="5,19"
CTLDEF, CONTROL
(oprócz przycisków)
bgsplit_lt,
bgsplit_rb
Określa lewy górny (bgsplit_lt) i prawy dolny (bgsplit_rb) piksel, definiuje prostokąt, wg którego wydarzy się rozciąganie obramowania.
bgsplit_lt="x,y"
bgsplit_rb="x,y"
x,y - liczby całkowite, większe od zera
Na przykład: bgsplit_lt="6,26" bgsplit_rb="6,6"
CTLDEF
id="WndBorder"
bold Definiuje pogrubienie linii tekstowej, jeśli jest ustawiona w normalnej czcionce. bold="x"
gdzie x= 0 lub 1. Jeśli 1, to pogrubiona, jeśli 0, to nie.
Na przykład: bold="0"
CONTROL
type = text
border_sizeopcjonalnie Parametr, określa grubość ramki okienna. Ramka jest zawsze, nawet wtedy, gdy jej grubość wynosi 0 pikseli. border_size="x1,y1,x2,y2"
gdzie x1,y1,x2,y2 - to cztery liczby całkowite, w następującej kolejności "z lewej,z prawej,u góry,u dołu".
Na przykład: border_size="3,2,3,4"
CTLDEF
id="WndBorder"
chapter definiuje wyświetlanie znacznika zakładki na osi czasu chapter="(IMAGE id).(AREA id)"
Na przykład, chapter="Ft.SeekChapter"
CONTROL
type=Seeker
chapter_pos definiuje pozycję wyświetlania znacznika zakładki na osi czasu. chapter_pos="x,y"
gdzie x - ujemna liczba całkowita (0 - lewy piksel znacznika widoczny w dolnej pozycji),
y - dodatnia liczba całkowita (0 - odnosi się do górnej granicy osi czasu)
Na przykład, chapter_pos="-1,12"
CONTROL
type=Seeker
chars Określa sekwencję, zgodnie z którą będą rozpoznawane czcionki graficzne. chars="abcd"
gdzie abcd musi być " 0123456789:" dla Czasu i Czasu trwania i dodatkowo "<" dla Pozycji. Dowolna kolejność znaków. Możliwa obecność dodatkowych znaków.
FONT
digits_ypos określa przemieszczenie pionowe cyfr na osi czasu. digits_ypos="y"
gdzie y - dodatnia liczba całkowita (0 - odnosi się do górnej granicy osi czasu)
Na przykład: digits_ypos="4"
CONTROL
type=Seeker
file Określa plik obrazka, na podstawie którego zostaną utworzone zagnieżdżone stałe graficzne. file="filename.ext"
gdzie filename.ext - nazwa pliku, w tym rozszerzenie.
Na przykład: file="main.bmp"
IMAGE
font Określa czcionkę (systemową lub graficzną) dla tekstowych kontrolek. font="anyfont"
gdzie anyfont - nazwa czcionki
Np. font="Verdana", font="Digits"
CONTROL
type=Text
fontsz Określa rozmiar czcionki systemowej. fontsz="x"
gdzie x - liczba całkowita większa od zera.
Np. fontsz="10"
CONTROL
type=Text
hitick Określa podstawowe (wysokie) nacięcie na osi czasu. hitick="(IMAGE id).(AREA id)"
Np. hitick="FT.SeekHiTick"
CONTROL
type=Seeker
id Nazwa własnego elementu, wykorzystywana później do odniesienia się do niego. id="TypName"
gdzie TypName - unikalna nazwa (patrz w dalszej części poradnika)
Np. id="btSubs"
IMAGE, AREA, FONT, CTLDEF
img Określa stałe graficzne do formowania przycisków. img="(IMAGE id).(AREA id)"
Np. img="FT.btPlay"
CONTROL
type=GfxBtn
link Określa funkcję przycisku. link="fx"
gdzie fx - jest to jedna z predefiniowanych funkcji
Na przykład: link="App.SuperPlay"
CONTROL
type=GfxBtn | Text
lotick Określa dodatkowe (niskie) nacięcie na osi czasu lotick="(IMAGE id).(AREA id)"
Na przykład: lotick="FT.SeekLoTick"
CONTROL
type=Seeker
minsize Określa minimalny rozmiar okna odtwarzacza, jeśli używasz tej skórki. Używany, aby przyciski nie zachodziły na siebie. minsize="x,y"
gdzie x,y - odpowiednio: szerokość i wysokość
Na przykład: minsize="500,250"
SKIN
OpeningHeight Określa wysokość zakresu automatycznego przewijania na osi czasu. OpeningHeight="x"
gdzie x - dodatnia liczba całkowita
Na przykład: OpeningHeight="6"
CONTROL
type=Seeker
OpeningPos Określa odstęp od górnej krawędzi osi czasu dla zakresu automatycznego przewijania. OpeningPos="y"
gdzie y - odległość od krawędzi osi czasu do wierzchołka automatycznego przewijania
Na przykład: OpeningPos="14"
CONTROL
type=Seeker
pos Określa pozycję stałych graficznych na obrazku lub kontrolki na panelu. pos="x,y"
gdzie x,y - odległość od lewej i górnej krawędzi. U kontrolek te wartości mogą być ujemne. Wartości ujemne wskazują nam, że liczenie będzie rozpoczynać się nie od lewej lub górnej krawędzi, a od prawej lub dolnej
Na przykład: pos="50,67"
AREA, CONTROL
size Określa rozmiar stałych graficznych lub kontrolek size="x,y"
gdzie x,y - odległość od lewej i górnej krawędzi opisujące elementy. U kontrolek te wartości mogą być ujemne. Wartości ujemne wskazują nam, że liczenie będzie rozpoczynać się nie od lewej lub górnej krawędzi elementu, a od prawej lub dolnej krawędzi paneli
Na przykład: size="24,28"
AREA, CONTROL
text Określa tekstowe zawartość kontrolki odpowiedniego rodzaju text="any"
gdzie any - jakiś tekst.
Między innymi, można wstawić zmienne {TITLE},{POS},{DUR},{TIME}, oznaczające odpowiednio: Nagłówek, Pozycję, Czas trwania i Czas.
Na przykład: text="{TIME}"
CONTROL
type=Text
thumb Określa obrazek suwaka w głośności i osi czasu. thumb="(IMAGE id).(AREA id)"
Na przykład: thumb="FT.VolThumb"
CONTROL
type = slider | seeker
ticks_ypos określa przesunięcie pionowe nacięcia na osi czasu. ticks_ypos="y"
gdzie y - dodatnia liczba całkowita (0 - odnosi się do górnej granicy osi czasu)
Na przykład, ticks_ypos="0"
CONTROL
type=Seeker
top_delta Określa przesunięcie tekstu w niegraficznej linii tekstowej w pionie; czcionka zostaje taka sama jak ustawiona. top_delta="y"
gdzie y - to wartość przesunięcia tekstu w pionie. Plus - w dół, minus - w górę
Na przykład: top_delta="-2"
CONTROL
type=Text
type Określa typ kontrolki. Od tego zależą wszystkie inne parametry. type="t"
gdzie t - to Panel (panel), GfxBtn (przycisk), Text (tekst), Seeker (oś czasu), Slider (głośność)
Na przykład: type="Text"
CTLDEF, CONTROL
type (wewnątrz SKIN) Określa typ skórki: normalna, pełnoekranowa lub audio. type="t"
gdzie t - to standart (domyślna), audio (tryb audio), fullscreen (na razie nie używane)
Na przykład: type="audio"
SKIN
variableopcjonalnie deklaruje, że zawartość dowolnego ciągu tekstowego jest dowolna (w przeciwnym razie linia zawsze wyświetla {title}) variable="x"
gdzie x = 0 lub 1. Domyślnie "0". Jeśli 1, to pojawi się jakakolwiek treść, jeśli 0, pojawi się {title}. Zalecane jest, aby zawsze stosować variable="1"
Na przykład: variable="1"
CONTROL
type=Text

Rodzaje elementów skórki

Rodzaj Elementy Charakterystyka
Kontur Kontur okna Ramka wokół okna odtwarzacza (tutaj i dalej pod oknem odtwarzacza będzie oznaczać tylko główne okno).
Panel Górny (nagłówek)
Dolny (panel sterowania)
Panel Listy odtwarzania
Pływające panele
Panel, na którym znajdują się wszystkie kontrolki. W rzeczywistości jest to kontener. Położenie trzech predefiniowanych paneli (nagłówek, panel sterowania, panel listy odtwarzania) jest sztywno zdefiniowane. W skórce można zmieniać tylko ich wysokość. Pływające panele mogą być umieszczone w dowolnym miejscu w obrębie paneli predefiniowanych.
Niemniej jednak szerokość jest ważna nawet w przypadku paneli predefiniowanych. Musi być ona większa od szerokości stosowanej dla każdej pojedynczo wziętej kontrolki (biorąc pod uwagę jej położenie i rozmiar, ale z wyłączeniem innych konturów). W przeciwnym razie skórka nie będzie wyświetlana poprawnie do czasu ponownego uruchomienia odtwarzacza.
Przycisk Otwórz plik
Odtwarzaj / Wstrzymaj z blokadą
itp.
Pełna lista poniżej.
Przycisk jest główną kontrolką skórki. Zadanie przycisku - wykonanie funkcji po naciśnięciu przycisku. Przyciski mają trzy stany:
  • zwykły
  • po najechaniu kursorem
  • po naciśnięciu
Niektóre przyciski posiadają funkcję: po naciśnięciu przechodzą one nie do stanu zwykłego, a w dodatkowe funkcje stanu zwykłego. W związku z tym, takie przyciski posiadają już sześć stanów. Dla przycisków z blokadą zalecana jest animacja w oparciu o "zaczyna pracę po zwolnieniu przycisku".
Linia tekstowa Tekst nagłówka
Pozycja
Czas trwania
Czas
Dowolny tekst
Linia tekstowa przeznaczona jest do wyświetlania informacji. Również informacje z nagłówka pliku. W linii tekstowej można napisać dowolny tekst, ale są 4 rodzaje interaktywnej informacji:
  1. {TITLE} - informacja nagłówka
  2. {POS} - pozycja odtwarzanego pliku
  3. {DUR} - czas trwania odtwarzanego pliku
  4. {TIME} - czas systemowy
Można łączyć prosty tekst z interaktywnym.
Wyrównanie tekstu w linii tekstowej wykonywane jest do środka.
Linia tekstowa, podobnie do przycisku, może wykonywać funkcje (bez animacji)
Linia tekstowa z graficzną czcionką Pozycja
Czas trwania
Czas
W przeciwieństwie do poprzedniego typu w tym używana jest czcionka graficzna (rysowana). A to dużo upraszcza: nie trzeba wstawiać kroju i rozmiaru czcionki, jej pogrubienia, jeśli to wszystko jest rysowane.
Czcionki graficzne używamy do interaktywnej informacji z ograniczonym zestawem znaków - dla pozycji, czasu trwania i czasu systemowego.
Wyrównanie tekstu w graficznej linii tekstowej wykonywane jest do lewej.
Linia tekstowa z graficzną czcionką, podobnie do przycisku, może wykonywać funkcje (bez animacji)
Suwak Głośność Jedynym przedstawicielem suwaków jest głośność. Łatwo jest zauważyć, że głośność używa nie jednej, a trzech graficznych stałych:
  • Tło
  • Tło wypełnienia (po lewej od suwaka)
  • Suwak
Suwak głośności obsługuje bitową przezroczystość. Przezroczystość powinna być wyrażona zielonym kolorem (#00ff00 lub RGB{0,255,0}).
Oś czasu Oś czasu Tak jak i głośność, oś czasu jest jedynym przedstawicielem swojego rodzaju. Jednakże oś czasu jest jeszcze bardziej złożona. Oprócz tego co posiada głośność, oś czasu posiada jeszcze dwa rodzaje "nacięć" (podstawowe i pośrednie) i czcionkę do oznaczania pozycji.
Suwak osi czasu obsługuje bitową przezroczystość. Przezroczystość powinna być wyrażona zielonym kolorem (#00ff00 lub RGB{0,255,0}).
Istotne zastrzeżenie: skala zaczyna się przed zerem i kończy się po zakończeniu.
Obrazki dekoracyjne Logotyp
Ikony menu kontekstowego
Pole wyboru menu kontekstowego
Zakładka na liście odtwarzania
Myszka w wyskakujących podpowiedziach
Obrazki dekoracyjne nie mają funkcji, one tylko są. Ogólnie mówiąc ich zadaniem jest tylko upiększanie wyglądu zewnętrznego Light Alloy.
Jedna z cech obrazków dekoracyjnych - miejsce ich zastosowania jest wbudowane w program, dlatego są tylko wyświetlane.

Inną charakterystyczną cechę mają Ikony menu kontekstowego, Pole wyboru menu i Zakładka w liście odtwarzania. Te obrazki wspierają bitową przezroczystość. Przezroczystość powinna być wyrażona w kolorze zielonym (#00ff00 lub RGB{0,255,0}).
Zestawy kolorów Kolor tekstu w nagłówku okna;
Kolor OSD i obszaru wideo;
Kolor listy odtwarzania;
Kolor automatycznego przewijania;
Kolor wyskakujących podpowiedzi;
Kolor menu kontekstowego;
Kolor pełnoekranowego wczytywania plików i napisów (dwa oddzielne bloki).
Zestawy kolorów przedstawiają bloki obrazu o szerokości 1 piksela i wysokości zgodnie z liczbą kolorów. Kolory odpowiednich pikseli są używane do wypełnienia tła i ciągów tekstowych.
Zestaw kolorów jest tylko informacyjnie. Ich stosowanie określane jest przez program.

Wykaz wszystkich elementów skórki

Wszystkie elementy, z których zbudowana jest skórka, dzielą się na niezbędne i opcjonalne. Bez tych pierwszych zbudowanie skórki jest niemożliwe. Ponadto, są one ściśle powiązane z swoimi miejscami. Obecność lub nieobecność drugich jest określona wyłącznie przez autora skórki.

Niezbędne elementy skórki

Id w części Zastosowanie nie należy zmieniać. Jeśli nie ma części Zastosowanie, to nie należy zmieniać wszystkich Id w części Zgłoszenie.

Nazwa Typ Zgłoszenie Zastosowanie Opis
Logotyp Obrazek dekoracyjny <IMAGE id="Logo" file="logo.bmp"> <AREA id="Splash" pos="0,0" size="262,230"/> </IMAGE> - Jest wyświetlany w obszarze wideo w przypadku braku wideo
Kontur okna Kontur <IMAGE id="HD" file="Header.bmp"> <AREA id="brd" pos="0,0" size="210,128"/> </IMAGE> <CTLDEF id="WndBorder" type="Panel" bg="HD.brd" size="29,127" border_size="3,2,3,4" bgsplit_lt="6,26" bgsplit_rb="6,6" Ramka wokół okna odtwarzacza
Górny panel Panel <IMAGE id="HD" file="header.bmp"> <AREA id="bg" pos="10,4" size="10,21"/> </IMAGE> <CTLDEF id="Caption" type="Panel" bg="HD.bg" size="400,21" bgsplit="14,10"> </CTLDEF> Panel u góry okna
Dolny panel Panel <IMAGE id="FT" file="footer.bmp"> <AREA id="bg" pos="0,0" size="224,104"/> </IMAGE> <CTLDEF id="CtlPanel" type="Panel" bg="FT.bg" size="400,104" bgsplit="110,103"> </CTLDEF> Panel u dołu okna
Panel listy odtwarzania Panel <IMAGE id="PL" file="playlist.bmp"> <AREA id="bg" pos="0,0" size="14,34"/> </IMAGE> <CTLDEF id="PListPanel" type="Panel" bg="PL.bg" size="300,34" bgsplit="7,23"> </CTLDEF> Panel u dołu obszaru listy odtwarzania
Menu kontekstowe Obrazek dekoracyjny <IMAGE id="Menu" file="Rclick.bmp"> <AREA id="bg" pos="0,0" size="20,23"/> <AREA id="pics" pos="0,24" size="33,84"/> <AREA id="Checked" pos="0,109" size="16,16"/> <AREA id="Bookmark" pos="22,0" size="11,11"/> </IMAGE> - Ikony w menu kontekstowym, znacznik menu kontekstowego, zakładka listy odtwarzania
Ikony myszki w wyskakujących podpowiedziach Obrazek dekoracyjny <IMAGE id="Hint" file="main.bmp"> <AREA id="Lclick" pos="0,235" size="22,22"/> <AREA id="Rclick" pos="23,235" size="22,22"/> </IMAGE> - Obrazki myszki w wyskakujących podpowiedziach
Zestawy kolorów Zestawy kolorów <IMAGE id="Color" file="Color.bmp"> <AREA id="LACaption" pos="1,1" size="1,2"/> <AREA id="OSD" pos="141,18" size="1,5"/> <AREA id="Timeline" pos="71,83" size="1,2"/> <AREA id="Hint" pos="71,119" size="1,3"/> <AREA id="PL" pos="1,18" size="1,12"/> <AREA id="Menu" pos="71,18" size="1,7"/> <AREA id="FOD_TV" pos="1,83" size="1,18"/> <AREA id="SOD_TV" pos="1,83" size="1,18"/> </IMAGE> - Wszystkie kolory wg koloru piksela (od góry do dołu):
  1. Tekst, gdy okno Light Alloy jest aktywne
  2. Tekst, gdy okno Light Alloy jest nieaktywne
  1. tekst OSD
  2. tło OSD
  3. cień tekstu OSD
  4. kontur tekstu OSD
  5. tło obszaru wideo
  1. tło
  2. tekst elementu wideo (wideo i IPTV)
  3. aktualnie odtwarzany plik
  4. kursor
  5. powtarzający się plik
  6. usunięty/niedostępny plik
  7. ostatnio odtwarzany plik podczas uruchamiania odtwarzacza
  8. zakładki
  9. zakładki aktualnie odtwarzanego pliku
  10. separator listy odtwarzania i obszaru wideo
  11. tekst dużych cyfr na osi czasu
  12. tekst elementu audio (muzyka i radio)
  1. automatyczne przewijanie, wykonane wcześniej
  2. automatyczne przewijanie wg czasu zaznaczonego myszką
  1. tło
  2. kontur i separator
  3. tekst
  1. tło
  2. normalny punkt menu
  3. niedostępny punkt menu
  4. ramka kursora
  5. tekst pod kursorem
  6. tło kursora
  7. poziomy separator
  1. tekst pod kursorem
  2. tekst folderów
  3. tekst plików
  4. aktywny kursor
  5. nieaktywny kursor
  6. tło aktywnego panelu plików
  7. tło aktywnego panelu dysków
  8. tło nieaktywnego panelu plików
  9. tło nieaktywnego panelu dysków
  10. tło ogólne
  11. tło przycisków
  12. tekst przycisków
  13. tło przycisków po najechaniu myszką
  14. tło nagłówka
  15. tekst nagłówka
  16. tekst dysków twardych
  17. tekst dysków wymiennych (pamięci flash)
  18. tekst dysków optycznych
zestaw kolorów jest analogiczny do poprzedniego bloku

Opcjonalne elementy skórki

Wszystkie opcjonalne elementy skórki warunkowo można podzielić na przyciski i pozostałe elementy (nie przyciski). Wszystkie przyciski są zbudowane na tej samej zasadzie i w rzeczywistości różnią się tylko w nazwą i funkcją. Pozostałe elementy (nie przyciski) charakteryzują się unikalnymi zasadami dla każdego oddzielnie wziętego elementu.

Przyciski

Przyciski charakteryzuje jednolite podejście do składni, animacji, stałej zawartości i jednakowej reakcji na całej powierzchni. Składnia przycisków jest następująca:

<IMAGE ...> <AREA id="btPlay" pos="10,10" size="20,60"/> </IMAGE> <CTLDEF ...> <CONTROL type="GfxBtn" pos="30,30" size="20,20" img="FT.btPlay" link="App.SuperPlay"/> </CTLDEF>

Oto trzy rzeczy, o których należy pamiętać:

  1. AREA id może być dowolne, ale jest opracowany czytelny zestaw nazw. Zaleca się, aby stosować je w pierwszym rzędzie dla dalszej czytelności skórki, zarówno przez autorów, jak również wszelkie inne zainteresowane osoby. W przypadku samodzielnego tworzenia id należy używać alfabetu łacińskiego i unikać kropek.
  2. CONTROL img komponent. Składa się on z "IMAGE id" i "AREA id", napisanych bez kropek.
  3. CONTROL link oznacza klawisz funkcyjny. Jeśli określona funkcja nie istnieje, odtwarzacz po prostu zignoruje naciśnięcie. Istnieje ograniczona liczba funkcji. Próba przypisania innych funkcji, niż te z poniższej listy, nie zadziała.
Nazwa Typ Zalecane AREA id CONTROL link
Plik
Otwórz plik Normalny przycisk btOpen PlayList.OpenFiles
Informacje o pliku Normalny przycisk btInfo Window.FileInfo
Odtwarzaj dysk DVD Normalny przycisk btDVD File.PlayDVD
Otwórz folder z DVD Normalny przycisk btFolderDVD File.OpenDVD
Informacje o pliku na OSD Normalny przycisk btOSDInfo File.OSDInfo
Pełnoekranowe menu otwierania plików Normalny przycisk btOpenFS File.OpenFile_Fullscr
Radio
Katalog internetowych stacji radiowych Normalny przycisk btOpenIRE File.OpenIRE
Radio: rozpocznij/zatrzymaj zapis Przycisk z blokadą btRec Player.RadioRecord
Odtwarzanie
Odtwarzaj / Wstrzymaj Przycisk z blokadą btPlay App.SuperPlay
Zatrzymaj (wyładowanie pliku) Normalny przycisk btStop Playback.RealStop
Klatka do przodu Normalny przycisk btFStep Player.FrameStep
Utwórz zakładkę na osi czasu Normalny przycisk btBookmark Seek.SetBookmark
Zmiana szybkości odtwarzania Przycisk z blokadą btFF Player.SpeedPlay
Zwiększ szybkość odtwarzania Normalny przycisk btSpdUp Playback.SpeedUp
Zmniejsz szybkość odtwarzania Normalny przycisk btSpdDown Playback.SpeedDown
Normalne/odwrócone odliczanie czasu odtwarzania Przycisk z blokadą btSwitchPos Position.Switch
Okno
Na wierzchu wszystkich okien Przycisk z blokadą btTop App.StayOnTop
Okno/Pełny ekran Przycisk z blokadą btFullScr Window.FullScreen
Rozmiar początkowy Normalny przycisk btOrigSize Window.Original
Maksymalizuj Przycisk z blokadą btMax App.Maximize
Minimalizuj Normalny przycisk btMin App.Minimize
Lista odtwarzania
Menedżer list odtwarzania Normalny przycisk btPlManager PList.Manager
Poprzedni z listy odtwarzania Normalny przycisk btPlPrev PlayList.Prev
Lista odtwarzania Przycisk z blokadą btPlist Window.PlayList
Następny z listy odtwarzania Normalny przycisk btPlNext PlayList.Next
Odtwarzaj wybrany Normalny przycisk btPlay PList.Play
Dodaj plik(i) do listy odtwarzania Normalny przycisk btAdd PList.AddFiles
Dodaj folder do listy odtwarzania Normalny przycisk btAddDir PList.AddDir
Usuń z listy odtwarzania Normalny przycisk btRem PList.Remove
Oczyść listę odtwarzania Normalny przycisk btClear PList.Clear
Przesuń wyżej Normalny przycisk btUp PList.MoveUp
Przesuń niżej Normalny przycisk btDown PList.MoveDown
Odtwarzanie w kolejności losowej Przycisk z blokadą btShuffle PList.Shuffle
Zakładki na liście odtwarzania Przycisk z blokadą btMarks PList.ShowMarks
Powtarzanie listy odtwarzania Przycisk z blokadą btRepeat PList.Repeat
Raport z listy odtwarzania (karta HTML) Normalny przycisk btReport PList.Report
Zapisz listę odtwarzania Normalny przycisk btSave PList.Save
Przejdź do pliku (poszukiwanie na liście odtwarzania) Normalny przycisk btJump PList.Jump
Sortuj listę odtwarzania Normalny przycisk btSort PList.Sort
Wymieszaj listę odtwarzania Normalny przycisk btVisShuffle PList.VisShuffle
Pokaż plik w Eksploratorze Normalny przycisk btShow PList.Search
Dźwięk
Wyłącz dźwięk Przycisk z blokadą btMute Audio.Mute
Przełącz ścieżkę audio Normalny przycisk btASwitch Sound.Switch
Ustawienia dźwięku Normalny przycisk btAProps Window.AudioProps
Napisy
Pokaż/ukryj napisy Przycisk z blokadą btSubs Subtitles.Show
Przełącz napisy Normalny przycisk btSSwitch Subtitles.Switch
Przełącz napisy Nr 2 Normalny przycisk btSSwitch2 Subtitles.Switch2
Zwiększ rozmiar napisów Normalny przycisk btSSizeUp Subtitles.SizeUp
Zmniejsz rozmiar napisów Normalny przycisk btSSizeDown Subtitles.SizeDown
Ustawienia napisów Normalny przycisk btSProps Window.SubProps
Pełnoekranowe menu wczytywania napisów Normalny przycisk btSAddFS Subtitles.Open_Fullscr
Wideo
Przełącz proporcje Normalny przycisk btVRatio Video.RatioSwitch
Ustawienia wideo Normalny przycisk btVProps Window.VideoProps
Zapisz klatkę Normalny przycisk btSShot Player.ScreenShot
Zapisz klatkę do schowka systemowego Normalny przycisk btSShotCB Video.ScreenshotCB
Zapisz galerię miniatur Normalny przycisk btSaveThumbs Video.SaveThumbs
Zapisz pakiet zrzutów o pełnym rozmiarze Normalny przycisk btSaveScreensPack Video.SaveScreensPack
Otwórz folder ze zrzutami ekranu Normalny przycisk btOpenScrFolder Application.OpenScrFolder
Program
Ustawienia Normalny przycisk btPrefs App.Prefs
Planner Przycisk z blokadą btSheduler Application.Scheduler
Drzewko filtrów Normalny przycisk btFlt Window.Filters
O programie Normalny przycisk btAbout App.About
Zakończ Normalny przycisk btExit App.Exit
System
Wyłącz monitor Normalny przycisk btMonitorOff Application.MonitorOff
Wywołanie okna dialogowego wyłączenia PC Normalny przycisk btPowerOff Application.PowerOff
Przełącz komputer w tryb hibernacji Normalny przycisk btHibernate Application.Hibernate

Nie przyciski

Nazwa Typ Zgłoszenie Zastosowanie Opis
Oś czasu Oś czasu <AREA id="SeekBGfill" pos="33,1" size="24,14"/> <AREA id="SeekThumb" pos="64,1" size="14,14"/> <AREA id="SeekBG" pos="79,1" size="24,14"/> <AREA id="SeekHiTick" pos="58,1" size="1,3"/> <AREA id="SeekLoTick" pos="59,1" size="1,3"/> <AREA id="SeekChapter" pos="58,13" size="3,2"/> <CONTROL type="Seeker" pos="0,0" size="-1,14" bgsplit="12,6" OpeningPos="0" OpeningHeight="14" bg="Ft.SeekBG" bgfill="Ft.SeekBGfill" thumb="Ft.SeekThumb" lotick="Ft.SeekLoTick" hitick="Ft.SeekHiTick" digits_ypos="4" ticks_ypos="0" chapter="Ft.SeekChapter" chapter_pos="-1,12" /> Oś czasu służy do przewijania pliku. Jej parametry:
  • size="-4,24" - ujemna długość; oznacza to, że długość wyliczana jest od prawej krawędzi panelu;
  • bgfill="FT.SeekBGfill" - tło zajmowanej powierzchni;
  • thumb="FT.SeekThumb" - suwak;
  • hitick="FT.SeekHiTick" - główne nacięcia;
  • lotick="FT.SeekLoTick" - dodatkowe nacięcia;
  • OpeningPos="14" - wysokość od górnej krawędzi osi czasu do automatycznego przewijania;
  • OpeningHeight="6" - wysokość automatycznego przewijania.
  • digits_ypos="4" - przesunięcie pionowe cyfr na osi czasu.
  • ticks_ypos="0" - przesunięcie pionowe nacięć na osi czasu.
  • chapter="Ft.SeekChapter" - znacznik zakładek.
  • chapter_pos="-1,12" - przesunięcie znacznika zakładek.
Głośność Suwak <AREA id="VolBGF" pos="226,40" size="9,13"/> <AREA id="VolThumb" pos="236,40" size="10,13"/> <AREA id="VolBG" pos="247,40" size="9,13"/> <CONTROL type="Slider" pos="45,40" size="92,13" bg="FT.VolBG" bgsplit="5,19" bgfill="FT.VolBGF" thumb="FT.VolThumb"/> Głośność mówi sama za siebie. Ważne jest, aby pamiętać o ograniczonej szerokości suwaka - 10 pikseli.
Nagłówek Linia tekstowa <AREA id="TitleBG" pos="10,8" size="10,16"/> <CONTROL type="Text" pos="100,3" size="-100,17" font="Verdana" fontsz="10" top_delta="-2" bold="0" bg="HD.TitleBG" bgsplit="8,5" variable="1" text="{TITLE}"/> Nagłówek przeznaczony jest do wyświetlania nazwy pliku i niektórych informacji o stanie odtwarzacza. Parametry:
  • font="Verdana" - czcionka.
  • fontsz="10" - rozmiar czcionki;
  • top_delta="-2" - przesunięcie tekstu w pionie. Minus - w górę, plus - w dół;
  • bold="0" - grubość czcionki: 0 - normalna, 1 - pogrubiona;
  • bg="HD.TitleBG" - tło pod tekstem;
  • text="{TITLE}" - treść tekstu.
  • link="" - funkcja, która zostanie wykonana po kliknięciu w linii tekstowej; parametr opcjonalny.
Ponadto określa kolor ukazującego się tekstu przy oknie aktywnym i nieaktywnym. Jednakże te kolory oddziaływują na wszystkie linie tekstowe, dlatego też tworzenie normalnej linii tekstowej z pozycją, czasem trwania lub czasem, chociaż jest możliwe, ale będzie miało ograniczenia w kolorze i może sprawiać problemy.
Pozycja
Czas trwania
Czas
Graficzna linia tekstowa <AREA id="Digits" pos="326,6" size="114,15"/> <FONT id="Digits" img="FT.Digits" chars="0123456789:/ -"/> <CONTROL type="Text" pos="3,1" size="69,14" font="Digits" text=" {POS} / {DUR}" link=" Position.Switch"/> Pozycja, Czas trwania i Czas oznaczone są następującymi wartościami:
  1. {POS} - pozycja odtwarzanego pliku
  2. {DUR} - czas trwania odtwarzanego pliku
  3. {TIME} - czas systemowy
Do poprawnego wyświetlania informacji wymagane są następujące symbole:
  • {POS} -  "0123456789: -" (dwukropek rozdziela godziny, minuty, sekundy; odstęp i klamra uczestniczą w wyświetlaniu bezpośredniego i odwróconego odlicznia)
  • {DUR} -  "0123456789:"
  • {TIME} - "0123456789: " (dwukropek co sekundę zamienia się w odstęp i na odwrót)
Poza tymi wartościami można używać dowolnych symboli według własnego uznania. Można również połączyć prosty tekst i interaktywny.

Aby kliknięcie w pozycji lewym przyciskiem myszki przełączało porządek odliczania, kontrolka powinna być z tym atrybutem: link=" Position.Switch"

Wyświetlanie odbywa się za pomocą symboli na podstawie dolnego rzędu pikseli: zmienił się kolor - znaczy to, że zaczął się nowy symbol. Przykład (skala 200%):