In d u progress

Transkrypt

In d u progress
Induprogress – Oficjalny dystrybutor Delta Electronics w Polsce
INDUPROGRESS S.C., ul.Płowiecka 109A, lokal 2, 04-965 WARSZAWA
e-mail: [email protected], tel:+48 22 465-98-34, fax:+48 22 465-98-35
Animowane, chowane menu dla paneli DOP-B
Panele DOP-B posiadają funkcjonalność [Embedded Subscreen], która umożliwia
umieszczenie dowolnego [subscreen] na ekranie głównym w określonym miejscu. Ze względu
na specyficzne działanie lementu [Embedded Subscreen], ukrywanie jest możliwe jedynie
z prawej strony oraz na dole ekranu. Opisywany przykład wykorzystuje funkcjonalność paneli,
która pozwala na odczytanie stanu ekranu dotykowego:
1. czy w tej chwili ekran jest dotknięty
2. współrzędna X dotkniętego punktu na ekranie
3. współrzędna Y dotkniętego punktu na ekranie
W dołączonym przykładzie pokazane są trzy animowane menu:
1. pasek menu wysuwany przez przeciąganie palcem
2. pasek z automatycznym pokazywaniem i ukrywaniem
3. pasek typu pokaż/ukryj
Wszystkie przykłady opierają się o modyfikowanie współrzędnych (x,y) elementów typu
[Embedded subscreen]. Realizowane jest to przy pomocy makra cyklicznego, analizującego
każde dotknięcie palcem do ekranu panela oraz ruch po dotknięciu.
Ze względu na potrzebną moc obliczeniową, załączony przykład można z powodzeniem
stosować na panelach DOP-B03, DOP-B04 oraz DOP-B05. Dla paneli 7 calowych i większych
zalecane jest używanie jedynie pasków menu typu (3), ewentualnie (2) ale z dużym krokiem
animacji. Kod skryptu jest opatrzony dużą ilością komentarzy co powinno ułatwić analizę oraz
zastosowanie w swoich projektach. Dla ułatwienia, kod został podzielony tak, aby ułatwić
skopiowanie kompletnego kodu obsługi wybranego menu.
Widok okna z paskami menu na panelu DOP-B03E211
Strona 1 z 3
Wszelkie prawa zastrzeżone dla Induprogress S.C.
Induprogress – Oficjalny dystrybutor Delta Electronics w Polsce
INDUPROGRESS S.C., ul.Płowiecka 109A, lokal 2, 04-965 WARSZAWA
e-mail: [email protected], tel:+48 22 465-98-34, fax:+48 22 465-98-35
Treść skryptu okna
# ********************************* SKRYPT WSPÓLNY ***
# wykrycie chwili dotknięcia ekranu
if $12900 == 0
if TP_STATUS == 1
# sprawdź co dotknięto
$12800 = 1
# zablokuj dalsze sprawdzanie aż do kolejnego dotknięcia
$12900 = 1
endif
endif
# wyłączenie przeciągania obiektów po puszczeniu
if TP_STATUS == 0
$12900 = 0
$12901 = 0
endif
# ********************************* MENU 1 ***
# pomocnicza pozycja menu 1, powiększona o wysokość paska
$12903 = $12803 + 70
# pomocnicza szerokość ikony paska menu, powiększona o szerokość ikony paska
$12902 = $12802 + 64
if $12800 == 1
# czy kliknięto ikonę pierwszego paska?
if TP_Y > $12803
if TP_Y < $12903
if TP_X > $12802
if TP_X < $12902
# włączenie ciągnięcia paska nr 1
$12901 = 1
$12800 = 0
endif
endif
endif
endif
endif
# ciągnięcie paska nr 1
if $12901 == 1
$12802 = TP_X - 32 (SIGNED)
if $12802 < 0 (SIGNED)
$12802 = 0
elseif $12802 > 420 (SIGNED)
$12802 = 420
endif
endif
# ********************************* MENU 2 ***
# pomocnicza pozycja menu 2, powiększona o wysokość paska
$12907 = $12807 + 70
# pomocnicza szerokość ikony paska menu, powiększona o szerokość ikony paska
$12906 = $12806 + 64
if $12800 == 1
# czy kliknięto ikonę drugiego paska?
if TP_Y > $12807
if TP_Y < $12907
if TP_X > $12806
if TP_X < $12906
# włączenie animacji paska nr 2
$12905 = 1
endif
endif
endif
Strona 2 z 3
Wszelkie prawa zastrzeżone dla Induprogress S.C.
Induprogress – Oficjalny dystrybutor Delta Electronics w Polsce
INDUPROGRESS S.C., ul.Płowiecka 109A, lokal 2, 04-965 WARSZAWA
e-mail: [email protected], tel:+48 22 465-98-34, fax:+48 22 465-98-35
endif
endif
# ustalenie kierunku animacji dla kliknięcia w ikonkę paska nr 2
if $12800 == 1
if $12905 == 1
if $12806 < 240
# szybkość chowania paska
$12808 = 40 (SIGNED)
else
# szybkość wysuwania paska
$12808 = -40 (SIGNED)
endif
$12905 = 0
$12800 = 0
endif
endif
# realizacja ruchu paskiem nr 2
if $12808 != 0 (SIGNED)
if $12808 < 0 (SIGNED)
if $12806 < 20 (SIGNED)
$12808 = 0
endif
else
if $12806 > 400 (SIGNED)
$12808 = 0
endif
endif
$12806 = $12806 + $12808 (SIGNED)
delay (10)
endif
# ********************************* MENU 3 ***
$12912 = $12812 + 40
if $12800 == 1
# czy kliknięto tytuł trzeciego paska?
if TP_Y > $12812
if TP_Y < $12912
# czy element znajduje się na tej pozycji Y?
if $12812 == 232
# położenie Y dl apaska menu 3 (widoczny)
$12812 = 92
else
# położenie Y dla paska menu 3 (ukryty)
$12812 = 232
endif
endif
endif
endif
# **** zamknięcie skryptu
$12800 = 0
Strona 3 z 3
Wszelkie prawa zastrzeżone dla Induprogress S.C.

Podobne dokumenty