Promotic

PmgCanvas - Szczegółowy opis obiektu

Patrz: obiekt PmgCanvas.

Obiekt PmgCanvas na stałe zawiera powierzchnię do rysowania (rastrowy obrazek w pamięci - bitmap) o wielkości Pmg obiektu. Powierzchnia do rysowania (obiekt CanvasCtx) jest udostępniona w zdarzeniu onDraw (JavaScript) przy pomocy metody pEvent.GetCtx(state). Podczas fizycznego rysowania obiektu do okna obrazu PROMOTIC zostanie wykorzystana bieżąca zawartość powierzchni do rysowania, nie dochodzi do odświeżenia powierzchni do rysowania w zdarzeniu onDraw.

Koncepcja front/tło:
Jeżeli animowana 2D zawartość jest złożona, duża, oraz niektóre jej części mogą się często zmieniać, wtedy ztytnio to obciąża procesor. Rozwiązaniem jest rozdzielenie zawartości obiektu PmgCanvas złożonego do dwu obiektów PmgCanvas nad sobą. Na tło statyczne, bardziej złożone (background) oraz front dynamiczny, prostszy (foreground, dynamic). Pmg obiekt przedstawiający dynamiczny front zostania wżłobiny do statyczniejszego tła, w taki sposób podwstanie jeden złożony Pmg obiekt. Chodzi o standardowy sposób, przy pomocy którego zrealizowanano wiele wstępnie zkonfigurowanych obiektów PmgCanvas.
Wżłobiony Pmg obiekt (front) może mieć dostęp również do zmiennych Vars rodzica (tła). Podczas zmiany zmiennych Vars rodzica (tła) jest zapewnione odświeżenie również wżłobionego obiektu (front). Patrz konfigurator "W onDraw będzie zastosowana metoda pEvent.GetParentVar()".

Obiekt PmgCanvas zapewni automatyczne wywołanie zdarzenia onDraw dla odświeżenia powierzchni do rysowania CanvasCtx w następujących przypadkach:
1) Jeżeli powierzchnia do rysowania jest niezinicjowana (pusta) po otwarciu panela, po zmianie rozmiarów obiektu PmgCanvas lub po wywołaniu metody CtxReset. W tym przypadku powierzchnia do rysowania jest zawsze pusta (przeźroczysty).
2) Jeżeli zmieniły się wstępne zmienne (Zmienne) obiektu PmgCanvas. Metoda rysowania może sobie zażądać albo już istniejącą powierzchnię do rysowania patrz pEvent.GetCtx(1) albo (bardziej powszechne) niezinicjowaną (pustą) powierzchnię do rysowania patrz pEvent.GetCtx(0).
3)Jeżeli zmieniły się zmienne (Zmienne) Pmg obiektu rodzica (tło) PmgCanvas (ważne dla wżłobionego obiektu - front).

Powierzchnia do rysowania zostanie wtedy odświeżona w zdarzeniu onDraw tylko podczas zmiany. Jeżeli nie dojdzie do zmiany, wtedy nie jest potrzebne odświeżenie powierzchni do rysowania lecz wykorzystuje się jej zapamiętana wartość. Zdarzenie onDraw ma dostęp tylko do wartości zmiennych lokalnych (Zmienne) obiektu PmgCanvas, które tak przedstawiają interfejs danych dla funkcji rysowania. Dalej może wykorzystać obiekt Pm oraz obiekt powierzchni do rysowania CanvasCtx. Interfejs skryptowy obiektu CanvasCtx udostępnia większość metod oraz właściwości dla 2D rysowania używanych w HTML5 v tagu <canvas>.

Zalety:
- Rysowanie w skrypcie umożliwia rysowanie warunkowe, rysowanie powtarzalne, przeliczanie, uzyskiwanie oraz formatowanie wartości, (polecenia if...else, for, obiekt Pm, zmienne lokalne Zmienne, itd.).
- Działa również w Web paneli, rysowanie bezpośrednio w przeglądarkach komputerów klienta, wsparcie większości przeglądarek. Właściwości i metody do rysowania znajdują się w obiekcie CanvasCtx. Chodzi o standardowy HTML5 tag <canvas>, dla którego istnieje wiele przykładów oraz nawet online edytorów a testerów.
- Szybszy od SVG w PmgRasterImage (lokalnie oraz w Webie) oraz wspiera również wyświtlanie tekstów.
- Podczas edycji obiektu PmgCanvas włącznie jego zdarzenia rysowania onDraw jest obiekt rysowany odrazu w środowisku deweloperskim w edytorze grafiki.
- Możliwość dla projektantów dostosowania sobie dostarczanych wstępnie zkonfigurowanych paneli opartych na PmgCanvas.
- W Webie jest grafika (skrypty rysowania) bezpośrednio częścią składową panela, nie trzeba pobierać dodatkowe pliki z obrazkami.
Patrz również:
- CanvasCtx (obiekt)
- CanvasCtxExt (obiekt)
- Zdarzenie onDraw

Historia:
Pm8.02.05: Wytworzono
Nawigacja:
 
 
- ctx
- PmgCanvas - Szczegółowy opis obiektu
 
 
© MICROSYS, spol. s r. o.