Popis design souboru
Design soubor (DS)
Design soubor je textový soubor s příponou .ds, který popisuje rozložení a chování vizuálních objektů.
OVE nepoužívá tento soubor přímo. Používá jeho zkompilovanou formu (.des), která obsahuje i grafické soubory.
Pro distribuci Vaší aplikace stačí tento zkompilovaný soubor přidat k Vaší aplikaci popřípadě ho uložit
do zdroje aplikace.
Design soubor zkompilujete pomocí utility OveEd.exe, která je součástí Prodigmy.
Struktura Design souboru
Formát design souboru (.ds) je podobný zápisu C++ objektů. Pro vytvoření skriptu však nepotřebujete znát C++.
Struktura .ds souboru obsahuje hlavičku a dělí se na 2 části:
V první části provedete deklaraci grafických objektů, které
budete používat a určíte, který grafický soubor (png, bmp) tyto data obsahuje. Pokud použijete relativní cestu,
pak je tato cesta vztažena k umístění .ds souboru. Deklarace také obsahuje popis animace objektu
při určité akci.
Ve druhé části vytvoříte okno, rozmístění a akce samotných vizuálních objektů. Vizuální objekt
používá grafický objekt a specifikuje umístění a reakce na uživatelské akce.
DS příkazy
DS soubor také může obsahovat další příkazy, které usnadňují vytváření skriptu.
První příkaz je #include a druhý #define.
#include "jmenosouboru.di" - vloží do skriptu souboru "jmenosouboru.di". Tento příkaz se používá,
pokud chcete rozdělit skript do více souborů.
#define alias hodnota - nadefinuje novou konstantu alias, která bude obsahovat hodnotu. Hodnota
muže být číslo nebo řetězec. Tento příkaz se používá pro zpřehlednění skriptu. Příkaz define se
může odkazovat na další alias.
Například:
#define A xxx
#define xxx B
Výsledek: A = B
Komentáře
V design souboru můžete používat i komentáře. Jedná se o řádky, které se do zkompilovaného souboru
nezařadí. Komentář začíná znaky // a konec komentáře je na konci řádky, tj. část od začátku komentáře
do konce řádky se nebere v potaz při kompilaci souboru.
Například:
// Toto je komentář....
Speciální znaky
Formát .ds souboru rozlišuje tzv. speciální znaky \,". Pokud potřebujete uvést tyto znaky v některém
z řetězců, parametrů propert nebo příkazů, musíte tyto znaky zdvojit: \\,"" nebo před tímto
znakem uvést zpětné lomítko \. Například \" znamená uvozovky, \\ znamená \.
Deklarace grafických objektů
Deklarací grafického objektu určíte, který grafický soubor (png, bmp) se má použít a jak se bude animovat.
Základní typy grafických objektů jsou:
gBase - Základní grafický objekt, obyčejný obrázek bez animace.
gAnimBase - Animovaný grafický objekt.
gFont - Uživatelský neproporciální grafický font.
gSysFont - Systémový true type font.
Speciálním případem je deklarace Menu a klávesových zkratek, tzv. akcelerátorů, které vyvolají příkaz
při stisku nadefinované kombinace kláves.
dMenuItems - Položka menu, která obsahuje popisy položek a příkazy.
dMenuLook - Definuje vzhledu menu a určuje, které grafické soubory se použijí pro menu.
dBitmap - Vytváření grafických objektů z bitmapy.
dAccelerators - Definuje klávesové zkratky schéma okna.
Syntaxe zápisu grafického objektu:
typ_grafickeho_objektu "jméno_aliasu" {
Property = hodnota;
}
Jméno aliasu - Je textový řetězec, na který se bude odkazovat vizuální objekt.
Konkrétní vlastnosti budou vysvětleny později u konkrétního grafického objektu.
Příprava grafických dat
Předtím, než začnete deklarovat grafické objekty musíte připravit grafický soubor (bmp, png) pro OVE.
Každý grafický objekt může používat jenom jeden grafický soubor, proto musíte všechny snímky uložit
do jednoho souboru. V grafickém objektu nastavíte velikost jednoho snímku a OVE automaticky spočítá
pozici dalšího snímku.
Pokud chcete uložit grafiku do jednoho souboru, musíte použít dBitmap grafický objekt.
OVE navíc ještě rozlišuje tzv. phase vizuálních objektů. Phase je stav objektu, například
vizuální objekt je vypnut nebo zapnut, právě se na něm nalézá kurzor myši, atd. Každá fáze může
být animována a grafický objekt specifikuje animaci snímků ve phase.
Jednotlivé snímky vkládáte do grafického souboru podle typu grafického objektu. Popis
každého grafického objektu obsahuje možnosti umístění.
Transparentní maska.
OVE dokáže vykreslit i obrázek s vynecháním určitých pixelů. Tím docílíte, že Vaše aplikace může
mít různý tvar. Grafické objekty proto také mohou být transparentní. Tato vlastnost
je automaticky zapnutá a OVE vynechává pixely s barvou RGB(8,0,0) a s pixely s barvou RGB(0,8,0).
Rozdíl je, že pixely s barvou RGB(8,0,0) nereagují na myš, tj. vizuální objekt není v této části
aktivní. Pixely s barvou RGB(0,8,0) jsou také trasparentní (OVE je vynechá při vykreslení), ale
na myš už reagují a vizuální objekt je považuje za aktivní místo.
Barevné rozlišení souborů
OVE podporuje 2 grafické formáty BMP a PNG, oba v 4,8,24 bitové kvalitě. Interně OVE používá 16Bpp.
Pokud Vaše data ukládáte ve 24 Bpp, OVE musí provést konverzi na 16 Bpp a může se stát, že
se i pixely RGB(9,0,0) - RGB(15,0,0) stanou transparentními, analogicky i pixely RGB(0,9,0) - RGB(0,15,0).
OVE také neprovádí dithering. Pokud tedy potřebujete kvalitní výstup, zoptimalizujte Váš grafický soubor.
Definice okna a vizuálních objektů
Definicí objektu okna určíte vzhled pro okno Vaší aplikace. V jednom designu může být definováno
více oken. Okno se dále dělí na tzv. Scheme, které obsahuje definici vizuálních objektů. Okno musí mít
alespoň jedno schéma. OVE dokáže schémata přepínat za běhu aplikace.
Vizuální objekty:
Vizuální objekty definujete do schémat. Vizuální objekt používá ve vlastnosti zdroje grafický objekt.
Vizuálnímu objektu nadefinujete také pozici, příkazy, flagy a určíte, které uživatelské akce má sledovat.
Vizuální objekt ovlivňuje vlastnost phase grafického objektu, protože určitý vizuální objekt se může
nalézat v určité fázi. Vlastnost phase grafického objektu znamená například, že vizuální objekt
je vybrán nebo se nad ním nachází kurzor myši atd.
Základní vizuální objekty:
vTestPlace - Testovací místo.
vButton - Tlačítko.
vIndicator - Indikační prvek.
vIndiButton - Tlačítko s indikátorem.
vText - Textové pole.
vNumber - Číslo.
vFocus - Focus indikátor.
vTrackBar - Posuvník.
vRoundSlider - Otáčecí kolečko.
vFigure - Silueta.
vImage - Obrázek.
vProgressBar - Ukazatel postupu.
vCustom - Uživatelská vizuální komponenta.
Objekty DS souboru
Názvy grafických objektů
začínají písmenem "g", vizuální objekty písmenem "v", design objekty "d" (tyto objekty
používají grafické a vizuální objekty).
Dědění objektů:
Objekty můžou přejímat nastavení vlastností podle dalšího objektu. V OOP terminologii se tomu říká dědění.
Zápis objektu, který přejímá (dědí) vlastnosti jiného objektu je:
typ_grafickeho_objektu "alias1" : "Alias_přejímaného_objektu" {
Deklarace nových propert..., popřípadě předefinování starých vlastností.
}
Metody objektů:
Metoda je funkce objektu, která vykoná určitou operaci. V .ds souboru nemůžete vytvářet plnohodnotné
objekty s vlastními metodami, můžete pouze používat předprogramované metody objektů. Jediný objekt, který
má metody je dBitmap. Zápis volání metody je:
typ_grafickeho_objektu "alias1" {
Metoda(parametr1,parametr1);
Například:
LoadToFromPart("main.bmp",0,0,0,0,275,116);
}
Následuje popis jednotlivých grafických a vizuálních objektů .ds souboru.
|
! |
Záleží na pořadí, v jakém jsou uvedeny vizuální objekty ve Scheme. Pokud se překrývají aktivní
plochy (místa, kde je vizuální objekt senzitivní na události myši a klávesnice), OVE předá příkaz
prvnímu uvedenému objektu ve schématu s danou aktivní pozicí.
|
|
Header
Každý DS obsahuje hlavičku, která uchovává informace o design souboru, a nastavuje informace pro kompilátor.
Header {
name = "Design_Name";
filename = "..\\Design_file_name";
author = "Author_Name";
debug = on/off;
};
name - Obsahuje řetězec se jménem designu. Toto jméno se používá pouze pro kompilátor.
filename - Obsahuje cestu a jméno souboru, kam se má zkompilovaný design uložit. Kompilátor automaticky
přidá příponu .des. Můžete použít i relativní cestu. Pokud uvádíte \ , musíte ho zdvojit \\.
author - Jméno autora designu.
debug - Nastaví, jestli se mají grafická data vložit (off) do zkompilovaného .des nebo zůstat mimo (on), kde
je můžete měnit bez kompilace design souboru.
dMenuItems
Tento objekt definuje položky menu. Objekt menu nevkládáte do objektu Scheme, ale uvedete příkaz
"ove.cmd.menu(\"alias_menu\")" tohoto objektu v příkazu některého vizuálního objektu.
OVE vyvolá menu při poslání příslušného příkazu. Nejběžnější použití vyvolání menu používá vizuální
objekt vTestPlace.
Položky tohoto objektu jsou:
ITEM "item_name", "cmd", "data_alias"
item_name : Jméno položky, které se objeví v menu. Pokud na začátku použijete znak @STRING_ID,
položka se automaticky přeloží podle lng souboru.
cmd: Příkaz, který se pošle, pokud uživatel klikne na položku menu.
data_alias: Pokud provider potřebuje identifikovat jméno položky, můžete použít tento alias. Tento
alias také může obsahovat další parametry, například hodnoty, které chcete předat, flagy atd.
Zápis flagu: pulse.cmd.menu.something:d nebo pulse.cmd.menu.something:!d. Tyto flagy znamenají
povolení nebo zakázání položky menu. Toto povolení provádí Vaše aplikace. Pokud použijete jako
flag *, položka bude vyjmuta z menu. Pokud použijete flag c, položka může být při výběru zaškrtnutá.
Tyto cmd a data_alias můžou obsahovat další části, které lze zpracovat pomocí metody
oveAliascmp.
SEPARATOR - Vloží do menu oddělovací čáru.
POPUP "item_name" { ITEM | SEPARATOR } - Vloží další úroveň menu, která se objeví při vybrání položky.
item_name : jméno položky, které se objeví v menu. Pokud na začátku použijete znak @STRING_ID,
položka se automaticky přeloží podle lng souboru.
Příklad:
dMenuItems "my_menu" {
ITEM "@MENU_OVE_CLOSE", "ove.cmd.close", "ove.menu.close:d"
SEPARATOR
POPUP "@MENU_ABOUT" {
ITEM "@MENU_OVE_SHOW_ABOUT",
"myapp.cmd.showabout", "myapp.menu.showabout"
SEPARATOR
ITEM "@MENU_OVE_SHOW_INFO",
"myapp.cmd.showinfo", "myapp.menu.showinfo"
}
}
dMenuLook
Tento objekt specifikuje, které grafické soubory se mají použít na vzhled menu. Pokud tento objekt
nenadefinujete, použije se standardní vzhled OVE.
Položky tohoto objektu jsou:
alias - Jméno aliasu tohoto menu. Protože se menu ve většině případů sdílí mezi více designy, musí
být tento alias jedinečný pro toto menu nejen v rámci jednoho designu.
shapePart - Velikost okraje menu.
fontGrid - Horizontální vzdálenost rozestupu fontu.
fontSpacing - Rozestup jednotlivých písmen textu.
iconsGrid - Vzdálenost mezi jednotlivými ikonami.
menuAddYSepar - Vzdálenost, která se má vynechat nad a pod horizontálním oddělovačem menu.
menuAddY - Vzdálenost, která se má vynechat za každou @ položkou menu.
menuAddTab - Vzdálenost mezi tabulátorem a posledním předchozím sloupcem.
menuAddRectX - Vzdálenost v ose X, která přidá mezi tvarem menu a položkami menu.
menuAddRectY - Vzdálenost v ose Y, která přidá mezi tvarem menu a položkami menu.
menuAdjustDownY - Zkrácení menu v ose Y. Používá se podle typu fontu tak, aby nahoře a dole byla stejná
vzdálenost.
barDeltaY - Posunutí bar prvku (aktuální zvýraznění položky) nad řádek položky menu.
iconsSpacing - Vzdálenost mezi jednotlivými ikonami.
separXoffset - Odstup horizontálního oddělovače od okraje menu.
fileBack - Soubor, který obsahuje pozadí menu.
fileShape - Soubor, který obsahuje okraje menu. Tento soubor obsahuje snímky, ze kterých se
poskládá tvar menu:
a b c
d e f
g h i
a - Snímek levého horního rohu.
b - Snímek horní části okraje menu.
c - Snímek pravého horního rohu.
d - Snímek levé strany menu.
e - Nepoužívá se.
f - Snímek pravé strany menu.
g - Snímek levého dolního rohu.
h - Snímek dolní části okraje menu.
i - Snímek pravého dolního rohu.
Pokud je menu větší (většina případů), snímek se opakuje v dané části menu.
fileFont - Grafický soubor obsahující font, který se použije pro texty položek menu.
fileSepar - Grafický soubor, který obsahuje horizontální oddělovač (SEPARATOR) menu.
fileBar - Grafický soubor obsahující bar, který vysvětlí aktuální položku.
fileIcons - Grafický soubor, který obsahuje ikony menu.
Příklad:
dMenuLook "SuperMenu" {
alias ="SuperMenu";
shapePart =7;
fontGrid =12;
fontSpacing =2;
iconsGrid =12;
menuAddYSepar =0;
menuAddY =3;
menuAddTab =20;
menuAddRectX =4;
menuAddRectY =3;
menuAdjustDownY =1;
barDeltaY =1;
iconsSpacing =4;
separXoffset =7;
fileBack ="menu_back.png";
fileShape ="menu_shape.png"
fileFont ="menu_font.png";
fileSepar ="menu_separ.png";
fileBar ="menu_bar.png";
fileIcons ="menu_icons.png";
}
dBitmap
Vytvoří nový grafický objekt (v rámci zkompilovaného designu) z BMP souboru, který může být použit
v dalších vizuálních objektech jako source.
Tento objekt používáte, pokud grafický soubor obsahuje data pro více vizuálních objektů nebo
pokud chcete BMP soubor zpracovat některou z metod tohoto objektu.
Základní operací
je vytvoření nového grafického objektu z části souboru. Nový grafický objekt je vytvořen
do zkompilovaného designu a neukládá se jako samostaný bmp soubor na disk.
Metody objektu:
Create(UWORD sizeX,UWORD sizeY);
Tato metoda vytvoří v objektu oblast o velikosti sizeX, sizeY.
Create(UWORD sizeX,UWORD sizeY,UBYTE R,UBYTE G,UBYTE B);
Tato metoda vytvoří oblast o velikosti sizeX, sizeY, s barvou R,G,B.
Load(LINKFILE name);
Tato metoda nahraje BMP soubor do objektu dBitmap. Nejprve musíte mít vytvořenou oblast pomocí metody
Create.
LoadTo(LINKFILE name,UWORD xDst,UWORD yDst);
Tato metoda nahraje BMP soubor do objektu dBitmap na pozici dříve vytvořené oblasti xDst,yDst.
LoadToFrom(LINKFILE name,UWORD xDst,UWORD yDst,UWORD xSrc,UWORD ySrc);
Tato metoda nahraje část, která začíná na xSrc,ySrc v BMP souboru, do objektu dBitmap na pozici dříve
vytvořené oblasti xDst,yDst.
LoadToFromPart(LINKFILE name,UWORD xDst,UWORD yDst,UWORD xSrc,UWORD ySrc,UWORD xLen,UWORD yLen);
Tato metoda nahraje obdélníkovou část, která začíná na xSrc,ySrc, velikost xLen,Ylen BMP souboru, do
objektu dBitmap na pozici dříve vytvořené oblasti xDst,yDst.
AdjustRGB(SBYTE r,SBYTE g,SBYTE b);
Tato metoda přizpůsobí (přičte, odečte) barvy objektu v RGB modelu o r,g,b.
AdjustHSV(SBYTE h,SBYTE s,SBYTE l);
Tato metoda přizpůsobí barvy objektu v HSL modelu o h,s,l.
AdjustHue(SBYTE h);
Tato metoda přizpůsobí Hue složku k barvám objektu.
AdjustSaturation(SBYTE s);
Tato metoda přizpůsobí Saturation složku k barvám objektu.
AdjustLightnees(SBYTE l);
Tato metoda přizpůsobí Light složku k barvám objektu.
GrayScale();
Tato metoda převede barvy objektu na černobílou.
ReplaceRGB(UBYTE rSrc,UBYTE gSrc,UBYTE bSrc,UBYTE rDst,UBYTE gDst,UBYTE bDst);
Tato metoda nahradí barvu objektu rSrc,gSrc,bSrc barvou rDst,gDst,bDst, kde počáteční písmeno znamená
barevnou složku RGB modelu.
ReplaceRGB_safe16(UBYTE rSrc,UBYTE gSrc,UBYTE bSrc,UBYTE rDst,UBYTE gDst,UBYTE bDst);
Tato metoda nahradí barvu objektu rSrc,gSrc,bSrc barvou rDst,gDst,bDst, kde počáteční písmeno znamená
barevnou složku RGB modelu. Zároveň provede test výsledné barvy 16bpp a pixely, které by se mohli rovnat
transparentní barvě změní na černou RGB(0,0,0).
FilledRect(UWORD x,UWORD y,UWORD x2,UWORD y2,UBYTE R,UBYTE G,UBYTE B);
Tato metoda vyplní oblast x,y - x2,u2 objektu barvou R,G,B.
Příklad:
dBitmap "Bmain" {
Create(280,116,8,0,0);
LoadToFromPart("main.bmp",0,0,0,0,275,116);
ReplaceRGB_safe16(8,0,0,0,0,0);
ReplaceRGB_safe16(0,8,0,0,0,0);
FilledRect(275,0,279,115,8,0,0);
}
// použití v gBase obj
gBase "Gmain" {
source="Bmain";
flg =BASEG_USEMASK;
}
dAccelerators
Tento objekt vytvoří seznam klávesových zkratek a příslušných příkazů Vaší aplikace.
Objekt obsahuje jeden příkaz.
Key(keyID|KeyID...):"cmd";
keyID - ID klávesy. Klávesy můžete kombinovat pomocí bitového operátoru OR |.
cmd - Příkaz, který tato klávesová kombinace vyvolá.
Seznam ID kláves:
KEYF_ALT - Klávesa alt.
KEYF_CTRL - Klávesa ctrl.
KEYF_IGNORECASE - Tento flag nastaví stav, kdy se nerozlišuje velké nebo malé písmeno.
KEY_0
KEY_1
KEY_2
KEY_3
KEY_4
KEY_5
KEY_6
KEY_7
KEY_8
KEY_9
KEY_a
KEY_b
KEY_c
KEY_d
KEY_e
KEY_f
KEY_g
KEY_h
KEY_i
KEY_j
KEY_k
KEY_l
KEY_m
KEY_n
KEY_o
KEY_p
KEY_q
KEY_r
KEY_s
KEY_t
KEY_u
KEY_v
KEY_w
KEY_x
KEY_y
KEY_z
KEY_A
KEY_B
KEY_C
KEY_D
KEY_E
KEY_F
KEY_G
KEY_H
KEY_I
KEY_J
KEY_K
KEY_L
KEY_M
KEY_N
KEY_O
KEY_P
KEY_Q
KEY_R
KEY_S
KEY_T
KEY_U
KEY_V
KEY_W
KEY_X
KEY_Y
KEY_Z
KEY_PLUS
KEY_MINUS
KEY_ESCAPE
KEY_ENTER
KEY_SPACE
KEY_PRIOR
KEY_NEXT
KEY_END
KEY_HOME
KEY_LEFT
KEY_UP
KEY_RIGHT
KEY_DOWN
KEY_SELECT
KEY_PRINT
KEY_EXECUTE
KEY_SNAPSHOT
KEY_INSERT
KEY_DELETE
KEY_HELP
KEY_NUMPAD0
KEY_NUMPAD1
KEY_NUMPAD2
KEY_NUMPAD3
KEY_NUMPAD4
KEY_NUMPAD5
KEY_NUMPAD6
KEY_NUMPAD7
KEY_NUMPAD8
KEY_NUMPAD9
KEY_MULTIPLY
KEY_ADD
KEY_SEPARATOR
KEY_SUBTRACT
KEY_DECIMAL
KEY_DIVIDE
KEY_F1
KEY_F2
KEY_F3
KEY_F4
KEY_F5
KEY_F6
KEY_F7
KEY_F8
KEY_F9
KEY_F10
KEY_F11
KEY_F12
KEY_F13
KEY_F14
KEY_F15
KEY_F16
KEY_F17
KEY_F18
KEY_F19
KEY_F20
KEY_F21
KEY_F22
KEY_F23
KEY_F24
KEY_NUMLOCK
KEY_SCROLL
Příklad:
Key(KEYF_CTRL| KEY_1) :"pulse.plr1.cmd.subsong(0)";
Key(KEYF_CTRL| KEY_z | KEYF_IGNORECASE) :"pulse.plr1.cmd.subsong.prev";
gBase
Tento grafický objekt představuje statický obrázek. Hlavní využití toho objektu je v pozadí okna nebo
pro vizuální objekty, které nemají animaci.
Položky tohoto objektu jsou:
offset - Velikost, kde začína snímek. Defaultně jsou snímky uloženy pod sebou v ose Y.
frame - Velikost jednoho snímku.
flg - Nastavení dat. Flagy se můžou kombinovat pomocí operátoru OR - |.
BASEG_SORTX - Snímky jsou uspořádány v ose X, ne v defaultním nastavení v ose Y.
BASEG_USEMASK - Vykreslí se i transparentní pixely RGB(8,0,0) a RGB(0,8,0).
BASEG_USEMASK_ONLY_080 - Vykreslí se i pixely, které jsou senzitivní na události myši RGB(0,8,0). Pixely
RGB(8,0,0) budou vynechány.
BASEG_MASK_IS_BACKGROUND - Grafická data se použijí na statické pozadí, například okna.
source - Jméno grafického souboru, který se použije pro grafický objekt.
Příklad:
gBase "About" {
source="About.png";
offset=17;
flg =BASEG_USEMASK;
}
|
+ |
Pokud potřebujete do .ds souboru vložit soubor, který design přímo nepoužívá, ale používá jej například Vaše vCustom
komponenta, můžete použít tento objekt. Potom stačí uvést v příslušném vCustom vizuálním objektu jako
source tento objekt a pomocí parametru Params metody OVE interface
vcInitialize.
|
|
gAnimBase
Tento grafický objekt představuje animovaný obrázek. Hlavním využitím toho objektu jsou vizuální objekty,
které se animují. Vizuální objekt ovlivňuje počet a význam jednotlivých fází. Pokud chcete sdílet
tento grafický objekt pro více různých vizuálních objektů, může se stát, že Vám nebudou odpovídat
jednotlivé fáze.
Položky tohoto objektu jsou:
frame - Velikost jednoho snímku. Všechny snímky musí mít stejnou velikost.
flg - Nastavení animace, flagy se můžou kombinovat pomocí operátoru OR - |.
BASEANIM_SPEED1 - Nejvyšší rychlost opakování animace.
BASEANIM_SPEED16 - Nejnižší rychlost opakování animace.
BASEANIM_USEMASK - Vykreslí se i transparentní pixely RGB(8,0,0) a RGB(0,8,0).
BASEANIM_MASK_IS_BACKGROUND - Vizuální objekt se použije pro počítání vysledného tvaru okna.
source - Jméno grafického souboru, který se použije pro grafický objekt.
phase1 - 8 - Bitové flagy, které určují animaci jednotlivých phase.
Význam těchto phase určují samotné vizuální objekty.
BASEANIMP_ENABLE - Aktivuj animaci.
BASEANIMP_REPEAT - Opakuj animaci do nekonečna.
BASEANIMP_REPEAT1 - 16 - Opakuj animaci 1 - 16x krát.
BASEANIMP_RELATIVE - Pokud se mění Phase vizuálního objektu, další snímek pokračuje následujícím
snímkem v nové phase.
BASEANIMP_REVERSIBLE - Pokud animace dojde do konce, pokračuje po zpátku zpět a zase znovu.
BASEANIMP_FINISH - Pokud se mění phase, nejprve se dokončí stávající animace.
BASEANIMP_FINISHLAST - Pokud má tento flag nový Phase, tak se nejprve dokončí předchozí animace phase.
BASEANIMP_LAST_IS_DEF - Poslední snímek je defaultní snímek.
BASEANIMP_JUMP_TO_LAST - Tento flag použijte v kombinaci s předchozím flage. OVE nebude začínat animaci
prvním snímkem, ale začne posledním.
Příklad:
gAnimBase "Play" {
source="Play.png";
frame=24,17;
flg=BASEANIM_SPEED8;
phase2=BASEANIMP_ENABLE|BASEANIMP_REPEAT;
phase4=BASEANIMP_ENABLE|BASEANIMP_REPEAT;
}
gFont
Pomocí tohoto grafického objektu můžete nadefinovat vlastní grafický font, který
se použije pro zobrazení Vašeho textu. Data jednotlivých snímků, představují písmena.
Položky tohoto objektu jsou:
source - Grafický soubor, který obsahuje.
offset - Velikost, kde začína snímek. Defaultně jsou snímky uloženy pod sebou v ose Y.
spacing - Vzdálenost mezi jednotlivými snímky při vykreslování.
flg - Bitové flagy. Můžete použít operátor OR |.
FONT_SORTX - Snímky fontu jsou uloženy v ose X a ne v ose Y.
FONT_USEMASK - Vykreslí se i transparentní pixely RGB(8,0,0) a RGB(0,8,0).
FONT_VERTICAL - Font se vykresluje v ose Y pod sebe.
FONT_PROPORTIONAL - Font je proporcionální.
FONT_MASK_IS_BACKGROUND - Maska fontu se použije jako pozadí.
phase1 - 8 - Phase se používají pro různé druhy písma, například barva fontu. Jednotlivé fáze
se přepínají ve vizuálním objektu vText, v textovém řetězci pomocí znaku @x, kde x nahradíte
číslem fáze.
Příklad:
gFont "n_font_title" {
source="font_title.png";
offset=12;
spacing=1;
flg =FONT_SORTX|FONT_USEMASK|FONT_PROPORTIONAL;
}
gSysFont
Tímto grafickým objektem nadefinujete používání systémového true type fontu pro Vaše texty.
Položky tohoto objektu jsou:
flg - Flagy nastavení fontu.
SYSFONT_BOLD - Tučné písmo.
SYSFONT_ITALIC - Kurzíva.
source - Jméno fontu.
size - Velikost písma.
color - Barva písma.
Pořadí phase:
Příklad:
gSysFont "font_system" {
source="verdana";
size=12;
color=65535;
flg=SYSFONT_BOLD;
}
Vizuální objekty
Vizuální objekty používají jako zdroj grafické objekty. Typ vizuálního objektu ovlivňuje vlastnost
Phase grafického objektu, protože tato vlastnost závisí na možnostech vizuálního objektu.
Všechny vizuální objekty mají společné tyto property:
layer - Hladina, ve které se vizuální objekt nachází. Defaultní hladina je 0.
Vizuální objekty můžete rozčlenit do hladin, které může libovolně zapínat nebo vypínat pomocí příkazu
ove.cmd.layers( layer_number:on/off).
join - Spojí vstup více vizuálních objektů.
slave - Spojí více vizuálních objektů. Tento objekt bude ovlivňovat tzv. slave
vizuální objekt.
slaveFlg - Flagy, které ovlivňují zobrazení zřetězených objektů. Flagy se můžou kombinovat
pomocí operátoru OR - |.
SLAVE_FLG_SHOW_IF_ACTIVE - Zobraz i zřetězený slave objekt, pokud je aktivní aktuální vizuální objekt.
SLAVE_FLG_HIDE_IF_ACTIVE - Nezobrazuj zřetězený slave objekt, pokud je aktivní aktuální vizuální objekt.
SLAVE_FLG_SHOW_IF_VISIBLE - Zobraz zřetězený slave objekt, pokud je aktuální vizuální objekt zobrazen.
SLAVE_FLG_HIDE_IF_VISIBLE - Nezobrazuj zřetězený slave objekt, pokud je aktuální vizuální objekt zobrazen.
SLAVE_FLG_NO_CALL - Nezavolá událost slave objektu, pokud zřetězíte více vizuálních objektů do kruhu.
Jeden z vizuálních objektů musí mít tento flag, aby se předešlo nekonečnému zacyklení.
SLAVE_FLG_REDIRECT_INPUT - Slave vizuální objekt předá událost svému master vizuálnímu objektu.
pos - Pozice vizuálního objektu ve schématu. Ke každé souřadnici můžete použít modifikátor | POS_FROM_END;.
flg - Nastavení flagů vizuálního objektu, které specifikují chování při událostech atd.
Flagy se mohou kombinovat pomocí operátoru OR - |. Konkrétní vizuální objekt může mít své další
specifické flagy, které jsou uvedeny u popisu vizuálního objektu.
VF_LBUTTON - Zmáčknutí levého tlačítka myši.
VF_RBUTTON - Zmáčknutí pravého tlačítka myši.
VF_DLBUTTON - Dvojitý klik levým tlačítkem myši.
VF_DRBUTTON - Dvojitý klik pravým tlačítkem myši.
VF_LBUTTONCLICK - Klik levým tlačítkem myši. Tato událost se provede až po uvolnění stisku tlačítka a
ne okamžitě při stisku.
VF_RBUTTONCLICK - Klik pravým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
VF_REPONMOUSE - Zapne phase pro najetí myší na vizuální objekt (mouse over).
VF_TRYME - Pokud předchozí vizuální objekt na stejné pozici událost nezpracoval, předej událost tomuto
objektu. Defaultní nastavení pro dMenuItems a vTestPlace.
VF_TRYMENODUALTEST - Neprovádí test na dvojklik, ale vrátí jako 2 samostatné události.
VF_REPAINTPREVIOUS - Při překreslení objektu překresli také předchozí.
VF_HQPAINT - Vykreslení ve vysoké kvalitě. Tento flag potřebujete, pokud se pod vizuálním objektem, který je
transparentní, nachází také vizuální objekt.
VF_PARTOFBACKGROUND - Vizuální objekt je část pozadí. Používá se, pokud se počítá velikost výsledného tvaru.
VF_HIDEN - Tento objekt není defaultně zobrazen, pokud mu některý master slave nenastaví, aby se zobrazil.
tooltip - Řetězec, který se zobrazí při najetí myši na vizuální objekt. Pokud použijete " STRING_ID",
OVE se pokusí řetězec přeložit podle .lng souboru, který přidáte k Vaší aplikaci.
cursor - Nastaví typ kurzoru myši při najetí na vizuální objekt.
OVE_CURSOR_NORMAL - Normální kurzor. Defaultní nastavení pro všechny objekty.
OVE_CURSOR_SIZING - Změní kurzor pro změnu velikosti okna.
OVE_CURSOR_LINK - Změní kurzor pro link.
data - Datalias, který v programu identifikuje žádost o nastavení nebo načtení hodnoty
vizuálního prvku.
cmd - Příkaz, který vizuální objekt pošle OVE nebo Vaší aplikaci.
Pořadí phase:
Pořadí Phase závisí na flagách, které má konkrétní vizuální objekt nastavené. Pokud objekt nemá pro danou
Phase nadefinovaný flag, tato phase se vynechává a pořadí následujících Phase se posouvá.
vTestPlace
Testovací místo, nezobrazuje grafické data. Nejběžnější použití toho vizuálního objektu je v případě
testování plochy Vašeho okna, pak tento objekt uvedete jako poslední vizuální objekt ve schématu.
Tento objekt také obsahuje společné vlastnosti vizuálních objektů.
Specifické flagy:
TESTPLACE_NODUALTEST - Neprovádí test na dvojklik, ale vrátí jako 2 samostatné události.
TESTPLACE_LBUTTON - Zmáčknutí levého tlačítka myši.
TESTPLACE_RBUTTON - Zmáčknutí pravého tlačítka myši.
TESTPLACE_DLBUTTON - Dvojitý klik levým tlačítkem myši.
TESTPLACE_DRBUTTON - Dvojitý klik pravým tlačítkem myši.
TESTPLACE_LBUTTONCLICK - Klik levým tlačítkem myši. Tato událost se však provede až po uvolnění tlačítka,
ne okamžitě při stisku.
TESTPLACE_RBUTTONCLICK - Klik pravým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
TESTPLACE_EXEC_BECOME_VISIBLE - Vizuální objekt se stane při příkazu viditelným.
TESTPLACE_EXEC_BECOME_HIDE - Vizuální objekt se stane při příkazu schovaný.
size - Velikost testovacího místa.
Pořadí phase.
Tento objekt nepoužívá phase.
Příklad:
vTestPlace "Moving" {
pos =0,0;
size =242,88;
flg =TESTPLACE_LBUTTON|TESTPLACE_NODUALTEST;
cmd ="ove.cmd.moving";
}
vButton
Tento objekt představuje tlačítko.
Tento objekt také obsahuje společné vlastnosti vizuálních objektů.
Specifické flagy:
BUTTON_MOUSESENSITIVE - Vizuální objekt má mouse over phase.
BUTTON_ACTIVEIFPRESSED - Aktivní snímek bude viditelný po dobu stisku tlačítka. Defaultní nastavení.
BUTTON_ACTIVE01SEC - Aktivní snímek bude viditelný 100 ms, potom se teprve pošle příkaz,
pokud uživatel zmáčke toto tlačítko.
BUTTON_ACTIVEEXECUTING - Aktivní snímek bude viditelný po dobu provádění příkazu.
BUTTON_ACTIVEANIM - Animace bude viditelná po dobu provádění příkazu.
BUTTON_TIMERREPEAT - Aktivní snímek bude viditelný, když bude stav myši platný. Příkazy jsou prováděny 50xkrát za sekundu.
BUTTON_WAITFORPHASE - Pozdrží provedení příkazu, dokud se nepřepne příslušná phase grafického objektu.
BUTTON_WAITFORANIMEND - Pozdrží provedení příkazu, dokud se nedokončí aktuální animace grafického objektu.
BUTTON_EXECUTEIMM - Provede příkaz okamžitě.
BUTTON_LBUTTON - Zmáčknutí levého tlačítka myši.
BUTTON_RBUTTON - Zmáčknutí pravého tlačítka myši.
BUTTON_DLBUTTON - Dvojitý klik levým tlačítkem myši.
BUTTON_DRBUTTON - Dvojitý klik pravým tlačítkem myši.
BUTTON_LBUTTONCLICK - Klik levým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
BUTTON_RBUTTONCLICK - Klik pravým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
Specifické Property:
source - Grafický objekt, který obsahuje snímky.
Pořadí phase:
1. Normal.
2. Mouse over - Pokud má objekt nastavený flag BUTTON_MOUSESENSITIVE.
3. Click.
Příklad:
vButton "Open" {
source ="Open";
pos =109,62;
flg =BUTTON_LBUTTON|BUTTON_ACTIVEIFPRESSED|BUTTON_MOUSESENSITIVE;
cmd ="pulse.cmd.open";
tooltip="@TTP_OpenFile";
}
vIndicator
Tento objekt představuje indikační prvek.
Tento objekt také obsahuje společné vlastnosti vizuálních objektů.
Specifické flagy:
INDICATOR_MOUSESENSITIVE - Vizuální objekt má mouse over phase.
INDICATOR_REVERSE - Prohodí aktivní a deaktivní snímky.
INDICATOR_NOAUTO - Cíl nebude automaticky změněn.
INDICATOR_CANBEDISABLED - Objekt obsahuje frame signalizující zákaz povolení.
INDICATOR_LBUTTON - Zmáčknutí levého tlačítka myši.
INDICATOR_RBUTTON - Zmáčknutí pravého tlačítka myši.
INDICATOR_DLBUTTON - Dvojitý klik levým tlačítkem myši.
INDICATOR_DRBUTTON - Dvojitý klik pravým tlačítkem myši.
INDICATOR_LBUTTONCLICK - Klik levým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
INDICATOR_RBUTTONCLICK - Klik pravým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
Specifické Property:
source - Grafický objekt, který obsahuje snímky.
Pořadí phase:
1. off - Pokud je indikátor ve vypnutém stavu.
2. on - Pokud je indikátor v zapnutém stavu.
3. mouse over off - Pokud má tento objekt nastaven flag INDICATOR_MOUSESENSITIVE.
4. mouse over on - Pokud má tento objekt nastaven flag INDICATOR_MOUSESENSITIVE.
5. click mouse over off - Pokud má tento objekt nastaven flag INDICATOR_CANBECLICKED.
6. click mouse over on - Pokud má tento objekt nastaven flag INDICATOR_CANBECLICKED.
Příklad:
vIndicator "colon_big" {
source ="n_colon_big";
pos =61,43;
data ="pulse.plr1.data.bool.playing";
}
vIndiButton
Tento objekt představuje tlačítko s indikací.
Tento objekt také obsahuje společné vlastnosti vizuálních objektů.
Specifické flagy:
INDIBUT_MOUSESENSITIVE - Vizuální objekt má mouse over phase.
INDIBUT_CANBECLICKED - Vizuální objekt má snímky signalizující, že na objekt bylo kliknuto.
INDIBUT_REVERSE - Prohodí aktivní a deaktivní snímky.
INDIBUT_ATONCE - Provede příkaz okamžitě.
INDIBUT_CANBEDISABLED - Objekt obsahuje frame signalizující zákaz povolení.
INDIBUT_LBUTTON - Zmáčknutí levého tlačítka myši.
INDIBUT_RBUTTON - Zmáčknutí pravého tlačítka myši.
INDIBUT_DLBUTTON - Dvojitý klik levým tlačítkem myši.
INDIBUT_DRBUTTON - Dvojitý klik pravým tlačítkem myši.
INDIBUT_LBUTTONCLICK - Klik levým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
INDIBUT_RBUTTONCLICK - Klik pravým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
Specifické Property:
source - Grafický objekt, který obsahuje snímky.
Pořadí phase:
1. off - Pokud je indikátor ve vypnutém stavu.
2. on - Pokud je indikátor v zapnutém stavu.
3. mouse over off - Pokud má tento objekt nastaven flag INDIBUT_MOUSESENSITIVE.
4. mouse over on - Pokud má tento objekt nastaven flag INDIBUT_MOUSESENSITIVE.
5. click mouse over off - Pokud má tento objekt nastaven flag INDIBUT_CANBECLICKED.
6. click mouse over on - Pokud má tento objekt nastaven flag INDIBUT_CANBECLICKED.
Příklad:
vIndiButton "repeat_song" {
source ="n_rep_song";
pos =97,46;
flg =INDIBUT_LBUTTON | INDIBUT_MOUSESENSITIVE;
data ="pulse.plr1.data.bool.repeat";
cmd ="pulse.plr1.cmd.repeat";
tooltip ="@TTP_ToggleRepeatM";
}
vText
Tento objekt představuje zobrazení textového řetězce.
Tento objekt také obsahuje společné vlastnosti vizuálních objektů.
Specifické flagy:
TEXT_LBUTTON - Zmáčknutí levého tlačítka myši.
TEXT_RBUTTON - Zmáčknutí pravého tlačítka myši.
TEXT_DLBUTTON - Dvojitý klik levým tlačítkem myši.
TEXT_DRBUTTON - Dvojitý klik pravým tlačítkem myši.
TEXT_LBUTTONCLICK - Klik levým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
TEXT_RBUTTONCLICK - Klik pravým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
TEXT_MOUSESENSITIVE - Vizuální objekt má mouse over phase.
TEXT_MULTILINE - Text může být rozložen na více řádků.
TEXT_AUTO_MOVING - Text se může pohybovat.
TEXT_COUNT_X_SIZE - Rozlož na celý řádek.
TEXT_AUTO_SCROLL_Y - Text se bude automaticky skrolovat ze zdola nahoru na ploše vizuálního objektu.
TEXT_CENTER - Text bude zobrazen na střed.
Specifické Property:
Yoffset - Posunutí textu v ose Y.
string - Řetězec s textem, který chcete zobrazit. Můžete použít několik symbolů pro formátování
textu:
\n - Nová řádka.
| - Odsazení tabulátorem.
@x - Přepnutí fáze grafického fontu, x - číslo fáze.
size - Velikost místa, kde se text zobrazuje.
source - Grafický objekt, který obsahuje snímky.
Pořadí phase:
Význam jednotlivých phase si určujete sami. V textu je přepínáte pomocí znaku @x.
Příklad:
vText "txtVerInfo" {
source ="font_normal";
layer =2;
pos =16,108;
size =338,126;
flg =TEXT_MULTILINE | TEXT_AUTO_SCROLL_Y;
string =
"\n\n\n\n\n\n\n\n\n\n\n\n"
"||||||||Welcome to Pulse MP Player\n\n"
"@1Development team:\n@0\n"
"@0|Code\n@2"
"||Lada 'Ray' Lostak\n"
"||Tomas Siegl\n"
"\n@0|Graphics and design\n@2"
"||Lukas Klesal\n"
"@1|||||||||That's all folks !\n\n\n\n\n\n@0|||||||||(c) Rednecs inc. 2002\n";
}
vNumber
Tento objekt zobrazí hodnotu programu jako číslo. Hodnotu objektu předává aplikace pomocí datalias.
Tento objekt také obsahuje společné vlastnosti vizuálních objektů.
Specifické flagy:
NUM_1 - 8 - Tyto flagy specifikují počet číslic, které se zobrazí.
NUM_ZEROPADDED - Doplní z leva nuly.
NUM_SPACEPADDED - Doplní mezeru z leva.
NUM_HEX - Zobrazí číslo v hexadecimálním formátu s Ox na začátku.
NUM_CNVTO100 - Převede číslo na rozsah 0 - 100.
NUM_LBUTTON - Zmáčknutí levého tlačítka myši.
NUM_RBUTTON - Zmáčknutí pravého tlačítka myši.
NUM_DLBUTTON - Dvojitý klik levým tlačítkem myši.
NUM_DRBUTTON - Dvojitý klik pravým tlačítkem myši.
NUM_LBUTTONCLICK - Klik levým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
NUM_RBUTTONCLICK - Klik pravým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
Specifické Property:
size - Velikost vizuálního objektu.
source - Grafický objekt, který obsahuje snímky.
Pořadí phase:
Tento objekt nepoužívá phase.
Příklad:
vNumber "timesec" {
source ="n_font_big";
pos =64,43;
size =18,13;
flg =NUM_2 | NUM_ZEROPADDED;
data ="pulse.plr1.data.time.sec";
}
vFocus
Tento objekt je Focus indikátor.
Tento objekt také obsahuje společné vlastnosti vizuálních objektů.
Specifické flagy:
FOCUS_LBUTTON - Zmáčknutí levého tlačítka myši.
FOCUS_RBUTTON - Zmáčknutí pravého tlačítka myši.
FOCUS_DLBUTTON - Dvojitý klik levým tlačítkem myši.
FOCUS_DRBUTTON - Dvojitý klik pravým tlačítkem myši.
FOCUS_LBUTTONCLICK - Klik levým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
FOCUS_RBUTTONCLICK - Klik pravým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
Specifické Property:
source - Grafický objekt, který obsahuje snímky.
Pořadí phase:
Tento objekt nepoužívá phase.
Příklad:
vFocus "logo" {
source ="n_logo";
pos =26,4;
}
vTrackBar
Tento objekt představuje posouvací lištu/posuvník.
Tento objekt také obsahuje společné property vizuálních objektů.
Specifické flagy:
TRACKBAR_VERTICAL - Posuvník je umístěn v ose Y. Defaultně v ose X.
TRACKBAR_CLICKED - Grafický objekt obsahuje snímky, které signalizují, že nad objektem bylo kliknuto
myší.
TRACKBAR_MOUSESENSITIVE - Vizuální objekt má mouse over phase.
TRACKBAR_LBUTTON - Zmáčknutí levého tlačítka myši.
TRACKBAR_RBUTTON - Zmáčknutí pravého tlačítka myši.
Specifické vlastnosti:
dragsize - Velikost posuvníku.
length - Délka posuvníku v pixelech.
figpos - Pozice obrázku.
figsource - Grafický objekt, který obsahuje snímky posuvníku.
Pořadí phase:
1. Normální stav.
2. Mouse over stav, pokud má tento objekt nastaven flag TRACKBAR_MOUSESENSITIVE.
3. Mouse clicked, pokud má tento objekt nastaven flag TRACKBAR_CLICKED.
Příklad:
vTrackBar "progress" {
source ="n_progress_track";
pos =24,98;
length =210;
dragsize =8;
figsource="n_progress";
figpos =25,94;
flg =TRACKBAR_LBUTTON;
data ="pulse.plr1.data.unionseek";
tooltip ="@TTP_UnionSeekbar";
}
vRoundSlider
Tento objekt představuje kulatý otáčecí prvek.
Tento objekt také obsahuje společné vlastnosti vizuálních objektů.
Specifické flagy:
RNDS_CLICKED - Grafický objekt obsahuje snímky, které signalizují, že na tento objekt bylo
kliknuto myší.
RNDS_MOUSESENSITIVE - Vizuální objekt má mouse over phase.
RNDS_LBUTTON - Zmáčknutí levého tlačítka myši.
RNDS_RBUTTON - Zmáčknutí pravého tlačítka myši.
Specifické Property:
r - Poloměr.
dragr - Velikost úhlu, o který se Round slider mění.
start - Počáteční pozice.
length - Délka.
source - Grafický objekt, který obsahuje snímky.
figpos - Pozice.
figsource - Grafický objekt, který obsahuje snímky.
Pořadí phase:
1. Normální stav.
2. Mouse over stav, pokud má tento objekt nastaven flag RNDS_MOUSESENSITIVE.
3. Mouse clicked, pokud má tento objekt nastaven flag RNDS_CLICKED.
Příklad:
vRoundSlider "Volume1" {
source="Ginv";
pos =258,128;
r =9;
dragr =6;
start =90;
length=180;
figsource="Gvol1";
figpos=243,118;
flg =RNDS_LBUTTON;
data ="pulse.plr1.data.mix.vol";
tooltip="@TTP_DeviceVolume";
}
vFigure
Tento objekt lineárně zobrazuje snímky v závislosti na hodnotě n. 0 - první snímek,
0xffff - poslední snímek.
Tento objekt také obsahuje společné vlastnosti vizuálních objektů.
Specifické Property:
source - Grafický objekt, který obsahuje snímky.
Pořadí phase:
1. Normální stav.
2. Inverzní stav.
Příklad:
vFigure "Figure" {
source="g_picture";
data="myapp.data.figure";
}
vImage
Tento objekt představuje statický obrázek.
Tento objekt také obsahuje společné vlastnosti vizuálních objektů.
Specifické flagy:
IMAGE_SIZEABLE_VERTICAL - Obrázek může měnit svoji velikost v ose Y.
IMAGE_SIZEABLE_HORIZONTAL - Obrázek může měnit svoji velikost v ose X.
IMAGE_ADDONS_LEFT - Další obrázky se přidávají zleva.
IMAGE_ADDONS_LEFT_CENTER - Další obrázky se přidávají zleva a zároveň se centrují.
IMAGE_ADDONS_CENTER - Další obrázky se centrují.
IMAGE_ADDONS_CENTER_RIGHT - Další obrázky se přidávají zprava a zároveň se centrují.
IMAGE_ADDONS_RIGHT - Další obrázky se přidávají zprava.
IMAGE_ADDONS_GLUED - Slepí obrázky dohromady.
Specifické Property:
size - Velikost vizuálního objektu.
source - Grafický objekt, který obsahuje snímky.
sz_source_1 - Další grafický objekt, který obsahuje snímky.
sz_source_2 - Další grafický objekt, který obsahuje snímky.
sz_source_3 - Další grafický objekt, který obsahuje snímky.
sz_source_4 - Další grafický objekt, který obsahuje snímky.
sz_source_5 - Další grafický objekt, který obsahuje snímky.
Pořadí phase:
Tento objekt nepoužívá phase.
Příklad:
vImage "back_24" {
pos =8 | POS_FROM_END,8;
size =8 | POS_FROM_END,8 | POS_FROM_END;
source ="back_24";
flg =VF_PARTOFBACKGROUND | IMAGE_SIZEABLE_VERTICAL;
}
vProgressBar
Tento objekt zobrazuje určitý stav na baru.
Tento objekt také obsahuje společné vlastnosti vizuálních objektů.
Specifické flagy:
PROGRESSBAR_VERTICAL - Objekt je umístěn v ose Y. Defaultně v ose X.
PROGRESSBAR_CENTERED - Objekt je vycentrován.
PROGRESSBAR_MOVING - Objekt se může posouvat. Defaultně tlačit.
Specifické Property:
actsource - Grafický objekt, který zobrazuje aktuální stav.
backsource - Grafický objekt, který zobrazuje pozadí.
Pořadí phase:
Tento objekt nepoužívá phase.
Příklad:
vProgressBar {
actsource ="Progress";
pos =509,27;
flg =PROGRESSBAR_CENTERED|PROGRESSBAR_VERTICAL;
data ="pulse.plr1.data.mix.vol";
}
vCustom
Tento vizuální objekt používá komponentu, kterou můžete napsat v OveLow. Tato komponenta musí podporovat
rozhraní . V tomto objektu uvedete ID této komponenty.
Tento objekt také obsahuje společné vlastnosti vizuálních objektů.
Specifické Property:
files - Zde můžete specifikovat vlastní libovolné soubory, které požaduje Custom komponenta.
size - Velikost, kterou bude komponenta zabírat ve schématu.
source - 64-bit int Hexadecimání ID komponenty, která se použije pro tento vizuální objekt.
Pořadí phase:
Tento objekt nepoužívá phase.
Příklad:
vCustom "PlasmaArea" {
source =0x35257210F03973EA;
pos =2,2;
size =236,119;
files ="_visual.ini";
}
Window
Objekt Window obsahuje pouze jeden nebo více objektů Schéma.
Syntaxe zápisu okna a schéma:
Window "jméno_okna" : "typ_okna" {
Scheme "jméno_schematu1" {
Property = "hodnota";
visuální_objekt "alias_visobj" {
Property = hodnota;
}
}
Scheme "jméno_schematu2" {
Property = hodnota;
visuální_objekt "alias_visobj" {
Property = hodnota;
}
}
}
Scheme
Tento objekt definuje schéma okna. Obsahuje definici vizuálních objektů a vzhled okna. Každé schéma
může definovat jiný vzhled okna. Tato schémata se dají přepínat za chodu aplikace příkazem
"ove.cmd.scheme(\"scheme_name\")".
Schema Property:
menulook - Alias menu objektu.
background - Alias grafického objektu, který se použije jako pozadí okna.
accelerators - Alias objektu s klávesovými zkratkami.
layerInitCmds - Počáteční nastavení hladin, které se mají zobrazit.
initCmds - Počáteční příkaz, který se má poslat aplikacím po vytvoření okna.
flg - Bitové flagy. Můžete použít operátor OR |.
MENU_NODUALTEST - // test'll ignore "together" button status - test only each actions
MENU_LBUTTON - Zmáčknutí levého tlačítka myši.
MENU_RBUTTON - Zmáčknutí pravého tlačítka myši.
MENU_DLBUTTON - Dvojitý klik levým tlačítkem myši.
MENU_DRBUTTON - Dvojitý klik pravým tlačítkem myši.
MENU_LBUTTONCLICK - Klik levým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
MENU_RBUTTONCLICK - Klik pravým tlačítkem myši. Tato událost se provede až po uvolnění tlačítka,
ne okamžitě při stisku.
WND_UPBAR - Schování horního baru okna.
WND_GOONTOP - Okno bude stále navrchu.
WND_NOTOPMOST - Okno změní flag z TOP_MOST na NOTOP_MOST.
WND_NOTASKBAR - Okno nebude mít položku na panelu úloh.
WND_NOTRAY - Okno nebude mít položku v systray.
WND_NOCALCULATEMASK - Okno nebude počítat masku tvaru. Pokud použijete nečtvercové okno, pak bude okno
senzitivní v maximálních rozměrech okna.
WND_SIZING - Okno může měnit velikost.
WND_NOSTORE_LAYER_STATE - Okno při ukončení neuloží stav vrstev (layers).
WND_LAYER_CHANGE_BACK - Vrstva může změnit pozadí okna.
preview - Obrázek, který ukazuje ukázku okna.
minSize - Minimální velikost okna.
maxSize - Maximální velikost okna.
startSize - Počáteční velikost.
layerStoreCmds - Příkazy, které se provedou pro uložení nastavení vrstev.
Příklad:
Window "Eonic":"Pulse_xPlayer" {
Scheme "Normal" {
menulook ="SuperMenu";
background ="n_back";
accelerators ="StdKeys";
layerInitCmds="1:on 2:off";
initCmds ="pulse.cmd.playlayers(\"stop 1:on 2:off.play 1:off 2:on\")";
vFocus "logo" {
source ="n_logo";
pos =26,4;
}
// ...
}
|