1 Úvod

Knihovna obsahuje funkce a funkční bloky umožňující uživatelskému programu v PLC kreslit grafiku, která bude zobrazena na webové stránce nebo na operátorských panelech ID-3x. Na rozdíl od statických objektů WebMakeru se takto kreslená grafika může dynamicky měnit. Toho lze využít pro kreslení grafů, indikátorů hodnoty nebo dalších prvků, které by se standardními objekty WebMakeru kreslit nešly.

Princip kreslení spočívá v ukládání povelů a jejich parametrů do speciálního bufferu, který je po ukončení kreslení přenesen do zobrazovacího zařízení (operátorský panel ID-3x nebo webový prohlížeč). Výsledný obrázek je z těchto povelů kreslen až v zobrazovacím zařízení.

V závislosti na složitosti kreslené grafiky může dojít k prodloužení doby cyklu PLC. Proto se doporučuje volat kreslicí funkce pouze pokud potřebujeme obrázek změnit. Cyklické kreslení stále stejné grafiky jen zbytečně zatěžuje PLC a přenosový kanál do zobrazovacího zařízení. Pokud přestaneme volat grafické funkce, grafický buffer si pamatuje naposledy vykreslený obrázek a tento je podle potřeby přenášen i do zobrazovacích zařízení.

Pokud chceme funkce z knihovny CanvasLib použít v aplikačním programu PLC, je třeba nejprve přidat tuto knihovnu do projektu. Knihovna je dodávána jako součást instalace prostředí Mosaic od verze v2014.5. Knihovnu lze použít na všech centrálních jednotkách řady Foxtrot, CP-7004 a CP-7007 od verze 8.8.

Objednací číslo dokumentace ke knihovně CanvasLib je TXV 003 89.01.


2 Datové typy

V knihovně CanvasLib jsou definovány následující datové typy:

Základní datový typ je TCanvasData, do něho je třeba směrovat všechny grafické operace. Tento buffer je po ukončení kreslení automaticky přenesen do zobrazovacího zařízení. V závislosti na složitosti zobrazované grafiky roste i požadavek na velikost grafického bufferu. Výchozí struktura TCanvasData obsahuje buffer o velikosti 8195 bytů. Pro optimální využití paměti PLC je vhodné použít struktury TCanvasData64, TCanvasData128 .. TCanvasData6144, které mají menší velikost bufferu.

Zbytečně velký buffer zabírá místo a prodlužuje reakční dobu webové stránky

Součet velikostí bufferů všech prvků na jedné webové stránce je omezen na 8192 bytů

Struktura TCanvasData obsahuje další položky, které slouží pro interní potřeby knihovny CanvasLib a uživatel se o ně nemusí nijak starat. Výjimkou je položka touch, do které se nastavuje souřadnice kliknutí a barva bodu, na který uživatel klikl (pokud se toto povolí ve vlastnostech objektu Canvas v nástroji WebMaker). Tím lze snadno realizovat různé ovládací prvky, které čekají na stisk nebo výběr barvy, pokud předem nakreslíme obrázek s barevnou paletou. Souřadnice vracené ve struktuře touch jsou přepočítány vzhledem k nastavení počátku souřadného systému (funkce GC_SetOrigin) a virtuálnímu rozměru kreslicí plochy (funkce GC_SetVirtSize) na konci kreslení.


3 Konstanty

V knihovně CanvasLib jsou definovány různé konstanty, které se používají pro nastavení vlastností a vzhledu kreslených prvků.


3.1 Barvy

Konstanty GCOLOR_... definují některé základní barvy. Přičtením konstant GCOLOR_TRANSPARENT je možné vytvořit barvu s částečnou průhledností.

Příklad:

GCOLOR_GREEN + GCOLOR_TRANSPARENT1_2 nastaví zelenou barvu s poloviční průhledností.

Více viz:

GC_SetBgColor

GC_SetFgColor


3.2 Volby zobrazení textu

Konstanty GTEXT_STYLE_... ovlivňují způsob, jakým je vykreslován text. Význam jednotlivých konstant je uveden v následujících tabulkách. Konstanty lze sčítat, např. GTEXT_STYLE_BOLD + GTEXT_STYLE_ITALIC + GTEXT_STYLE_FILLBG bude vypisovat text tučnou kurzívou s vyplněným podkladem.

Styly písma:

Identifikátor | Význam
GTEXT_STYLE_NORMAL | Normální písmo (výchozí hodnota)
GTEXT_STYLE_BOLD | Tučné písmo
GTEXT_STYLE_ITALIC | Kurzíva

Zarovnání textu pro víceřádkový text:

Identifikátor | Význam
GTEXT_STYLE_ALIGN_LEFT | Zarovnat řádky textu vlevo
GTEXT_STYLE_ALIGN_RIGHT | Zarovnat řádky textu vpravo
GTEXT_STYLE_ALIGN_CENTER | Vycentrovat řádky textu

Text je vypisován od pozice kreslicího pera. Následující konstanty umožňují zvolit bod, od kterého se text umístí na kreslicí plochu:

Identifikátor | Význam
GTEXT_STYLE_HRIGHT | Výpis textu vpravo od pozice kreslicího pera
GTEXT_STYLE_HLEFT | Výpis textu vlevo od pozice kreslicího pera
GTEXT_STYLE_HCENTER | Pozice kreslicího pera je ve středu řádky
GTEXT_STYLE_VDOWN | Výpis textu od pozice kreslicího pera dolů
GTEXT_STYLE_VUP | Výpis textu od pozice kreslicího pera nahoru
GTEXT_STYLE_VCENTER | Pozice kreslicího pera je ve středu

Zobrazovaný text normálně zobrazuje pouze samotná písmena, body mezi písmeny zůstávají beze změn. Konstanta GTEXT_STYLE_FILLBG způsobí, že se pod textem vyplní i podklad.

Identifikátor | Význam
GTEXT_STYLE_FILLBG | Vyplnit pod textem podklad

Více viz:

GC_SetTextStyle

GC_WriteText


3.3 Volby pro kreslení čar

Styly čáry:

Identifikátor | Význam
GLINE_STYLE_SOLID | Plná čára (výchozí)
GLINE_STYLE_DASH | Čárkovaná čára
GLINE_STYLE_DOTDASH | Čerchovaná čára
GLINE_STYLE_DOT | Tečkovaná čára

Způsob zakončení čáry:

Identifikátor | Význam
GLINE_CAP_BUTT | Normální konec čáry v koncovém bodě (výchozí)
GLINE_CAP_ROUND | Zakulacený konec čáry se středem v koncovém bodě
GLINE_CAP_SQUARE | Hranatý konec čáry se středem v koncovém bodě

Způsob napojení čar:

Identifikátor | Význam
GLINE_JOIN_MITTER | Normální napojení čar s ostrým rohem (výchozí)
GLINE_JOIN_ROUND | Napojení čar se zakulaceným rohem
GLINE_JOIN_BEVEL | Napojení čar se zkoseným rohem

Více viz:

GC_SetLineStyle


3.4 Volby pro výplň

Styly výplně:

Identifikátor | Význam
GFILL_STYLE_BGCOLOR | Výplň pouze barvou pozadí (výchozí)
GFILL_STYLE_GRADIENT | Výplň barevným přechodem (gradientem)
GFILL_STYLE_FRAME | Výplň včetně obrysu, obrys se kreslí barvou popředí

Typy barevných přechodů (gradientů):

Identifikátor | Význam
GGRADIENT_STYLE_LINEAR | Lineární gradient shora dolů
GGRADIENT_STYLE_BAR1_3 | Dva opačné lineární gradienty o šířce 1/3 a 2/3 (užitečné např. pro sloupcový graf)
GGRADIENT_STYLE_RADIAL | Kruhový gradient, první barva je ve středu
GGRADIENT_STYLE_RADIAL1_3 | Kruhový gradient, první barva je posunuta o 1/3 vlevo nahoru
GGRADIENT_STYLE_HORIZONTAL | Změna směru, gradient se bude vykreslovat zleva doprava (místo shora dolů)

Více viz:

GC_SetFillStyle

GC_SetGradientStyle


3.5 Volby pro čárový graf

Identifikátor | Význam
GGRAPH_LINE_SHOWDOT | Zobrazit datové značky - kolečka
GGRAPH_LINE_SHOWCROSS | Zobrazit datové značky - křížky
GGRAPH_LINE_NOLINES | Nekreslit čáru grafu
GGRAPH_LINE_FILL | Vyplnit plochu pod čarou k ose x
GGRAPH_LINE_INTERPOLATE | Interpolace zobrazených dat

Více viz:

GC_GraphLine

GC_GraphLineArray


3.6 Volby pro kruhovou stupnici

Identifikátor | Význam
GRSCALE_NO_FIRST | Nekreslit první značku
GRSCALE_NO_LAST | Nekreslit poslední značku
GRSCALE_NO_LABELS | Nekreslit textové popisy
GRSCALE_BOLD_TICK | Hlavní značky tučně
GRSCALE_CIRCULAR_TICK | Kruhové hlavní značky
GRSCALE_OUTLINE | Vykreslit oblouk spojující značky

Více viz:

GC_RadialScale


3.7 Volby pro lineární stupnici

Identifikátor | Význam
GLSCALE_HORIZONTAL | Vodorovná stupnice
GLSCALE_VERTICAL | Svislá stupnice
GLSCALE_NO_BASELINE | Nekreslit základní čáru (pouze značky)
GLSCALE_NO_LABELS | Nekreslit textové popisy
GLSCALE_BOLD_TICK | Hlavní značky tučně

Více viz:

GC_LinearScale


3.8 Zadávání souřadnic

Souřadnice se standardně zadávají v bodech. Následující konstanta umožňuje zadat souřadnici v % velikosti kreslicí plochy.

Identifikátor | Význam
GPOS_TYPE_PCT | Příznak, že souřadnice není v bodech, ale v % velikosti kreslicí plochy


4 Globální proměnné

V knihovně CanvasLib nejsou definovány žádné globální proměnné.


5 Úvod

5 Funkce

V knihovně CanvasLib jsou definovány funkce jejichž abecední seznam je níže. Další kapitoly s podrobným popisem funkcí jsou rozděleny dle oblasti využití.

Funkce | Popis
Alpha_TO_Color | Nastaví barvě uložené ve formátu UDINT průhlednost
Color_TO_RGBA | Rozloží barvu ve formátu UDINT na jednotlivé složky RGB a průhlednost
GC_AddPoint | Slouží pro přidání souřadnic jednotlivých bodů polygonu. Používá se po funkcích GC_Polygon, GC_PolygonArray, GC_Polygon4, GC_CPolygon a GC_CPolygonArray a GC_CPolygon4.
GC_Arc | Nakreslí oblouk / výseč.
GC_Begin | Začátek kreslení, vynuluje buffer a odemkne jej pro zápis
GC_Box | Vykreslí obdélník. Kreslící pero posune do středu obdélníku.
GC_CArc | Nakreslí oblouk / výseč se středem na pozici kreslícího pera.
GC_CBox | Vykreslí obdélník se středem na pozici kreslícího pera.
GC_CCircle | Nakreslí kružnici se středem na pozici kreslícího pera.
GC_CImage | Zobrazí obrázek vystředěný na pozici kreslicího pera.
GC_Circle | Nakreslí kružnici. Pozice kreslicího pera se přesune do středu.
GC_CPolygon | Nakreslí mnohoúhelník kolem pozice kreslicího pera.
GC_CPolygonArray | Nakreslí mnohoúhelník kolem pozice kreslicího pera definovaný polem.
GC_CPolygon4 | Vykreslí čtyřúhelník kolem pozice kreslicího pera.
GC_CRoundBox | Vykreslí obdélník se zakulacenými rohy se středem na pozici kreslícího pera.
GC_CTriangle | Vykreslí trojúhelník zadaný třemi body kolem pozice kreslicího pera.
GC_CWriteText | Vypíše text centrovaný kolem pozice kreslicího pera.
GC_DataLen | Vrací počet bytů uložených v grafickém bufferu kreslícího plátna
GC_End | Konec kreslení, zamkne buffer pro zápis a povolí jeho vykreslení. Vrací TRUE pokud se všechny grafické operace uložily úspěšně.
GC_GraphAddData | Přidá jeden datový bod do grafu. Tato funkce se používá po funkcích GC_GraphBars a GC_GraphLine.
GC_GraphBars | Vykreslí data pro sloupcový graf.
GC_GraphBarsArray | Vykreslí data pro sloupcový graf zadaná polem.
GC_GraphBarsRealArray | Vykreslí data pro sloupcový graf zadaná polem reálných čísel
GC_GraphLine | Vykreslí data pro čárový graf.
GC_GraphLineRealArray | Vykreslí data pro čárový graf zadaná polem reálných čísel
GC_GraphLineArray | Vykreslí data pro čárový graf zadaná polem.
GC_Heading | Nastavuje úhel kreslicího pera ve stupních.
GC_Image | Zobrazí obrázek.
GC_Line | Vykreslí čáru mezi dvěma body.
GC_LinearScale | Vykreslí lineární stupnici.
GC_LineFwd | Vykreslí čáru zadané délky od pozice kreslicího pera pod úhlem kreslicího pera.
GC_LineTo | Kreslí čáru od pozice kreslicího pera do bodu zadaného souřadnicemi.
GC_MacroBegin | Označuje začátek bloku grafických operací.
GC_MacroEnd | Označuje konec definice makra.
GC_MacroRun | Spustí předem nadefinované makro.
GC_Move | Mění pozice kreslicího pera relativně k původnímu umístění.
GC_MoveFwd | Přesune pozici kreslicího pera o zadanou vzdálenost pod úhlem kreslicího pera.
GC_MoveTo | Mění pozici kreslicího pera.
GC_Point | Vykreslí bod na zadaných souřadnicích.
GC_Polygon | Vykreslí mnohoúhelník.
GC_PolygonArray | Vykreslí mnohoúhelník zadaný polem.
GC_Polygon4 | Vykreslí čtyřúhelník zadaný čtyřmi body.
GC_PopHeading | Obnoví úhel kreslicího pera uloženou funkcí GC_PushPosition.
GC_PopPosition | Obnoví pozici kreslicího pera uloženou funkcí GC_PushPosition.
GC_PushHeading | Uloží do pomocného zásobníku aktuální úhel kreslicího pera.
GC_PushPosition | Uloží do pomocného zásobníku aktuální umístění kreslicího pera.
GC_RadialScale | Vykreslí stupnici kruhového měřidla
GC_ResetOrigin | Přesune počátek souřadnic do levého horního rohu kreslicí plochy.
GC_RoundBox | Vykreslí obdélník se zakulacenými rohy. Kreslící pero posune do středu obdélníku.
GC_SetBgColor | Nastavuje barvu výplně (pozadí).
GC_SetFgColor | Nastavuje barvu čar a písma (popředí).
GC_SetFillStyle | Nastavuje styl výplně.
GC_SetGradientStyle | Nastavuje barvy a styl barevného přechodu (gradientu).
GC_SetLineStyle | Nastavuje styl čáry, jejího zakončení a napojení.
GC_SetLineWidth | Nastavuje šířku čáry v pixelech.
GC_SetOrigin | Přesune počátek souřadnic (bod 0, 0) na pozici kreslicího pera.
GC_SetTextSize | Nastavuje výšku písma v pixelech.
GC_SetTextStyle | Umožňuje změnit styl písma a jeho zarovnání.
GC_SetVirtSize | Nastaví rozměr virtuální kreslicí plochy.
GC_Triangle | Vykreslí trojúhelník zadaný třemi body.
GC_Turn | Pootočí úhel kreslicího pera o hodnotu zadanou ve stupních.
GC_WriteText | Vypíše text od pozice kreslicího pera.
RGBA_TO_Color | Složí barvu z jednotlivých složek RGB a průhlednosti do formátu UDINT


5.1.1 Funkce GC_ResetOrigin

Knihovna : CanvasLib

Funkce přesune počátek souřadnic do levého horního rohu kreslicí plochy.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_ResetOrigin
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_SetOrigin

GC_SetVirtSize


5.1.2 Funkce GC_SetBgColor

Knihovna : CanvasLib

Funkce nastavuje barvu výplně (pozadí). Barva může mít nastavenou i průhlednost.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | color | UDINT | barva uložené ve formátu UDINT (16#AABBGGRR)
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_SetBgColor
 | Návratová hodnota | BOOL | FALSE

Viz též:

Alpha_TO_Color

RGBA_TO_Color

GC_SetFgColor

GC_SetFillStyle


5.1.3 Funkce GC_SetFgColor

Knihovna : CanvasLib

Funkce nastavuje barvu čar a písma (popředí). Barva může mít nastavenou i průhlednost.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | color | UDINT | barva uložené ve formátu UDINT (16#AABBGGRR)
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_SetFgColor
 | Návratová hodnota | BOOL | FALSE

Viz též:

Alpha_TO_Color

RGBA_TO_Color

GC_SetBgColor

GC_SetLineStyle

GC_SetLineWidth


5.1.4 Funkce GC_SetFillStyle

Knihovna : CanvasLib

Funkce nastavuje styl výplně.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | style | USINT | styl definovaný konstantami GFILL_STYLE_...
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_SetFillStyle
 | Návratová hodnota | BOOL | FALSE


5.1.5 Funkce GC_SetGradientStyle

Knihovna : CanvasLib

Funkce nastavuje barvy a styl barevného přechodu (gradientu). Aby se zobrazoval ve výplni gradient místo plné barvy, musí se funkcí GC_SetFillStyle změnit styl výplně na GFILL_STYLE_GRADIENT .

Vstup color1 udává počáteční barvu (na obrázku GCOLOR_WHITE), vstup color2 koncovou barvu (na obrázku 16#00FFC080). Vzhled přechodu je dán vstupem style (na obrázku jsou podporované kombinace)

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | color1 | UDINT | počáteční barva uložené ve formátu UDINT (16#AABBGGRR)
 | color2 | UDINT | koncová barva uložené ve formátu UDINT (16#AABBGGRR)
 | style | USINT | styl definovaný konstantami GGRADIENT_STYLE_...
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_SetGradientStyle
 | Návratová hodnota | BOOL | FALSE


5.1.6 Funkce GC_SetLineStyle

Knihovna : CanvasLib

Funkce nastavuje styl čáry, jejího zakončení a napojení.

Na vstupu style se očekává součet konstant určující:

Zakončení čar

Napojení čar

Styl čar

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | style | USINT | styl definovaný konstantami GLINE_...
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_SetLineStyle
 | Návratová hodnota | BOOL | FALSE


5.1.7 Funkce GC_SetLineWidth

Knihovna : CanvasLib

Funkce nastavuje šířku čáry v pixelech.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | width | USINT | šířka čáry v pixelech
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_SetLineWidth
 | Návratová hodnota | BOOL | FALSE


5.1.8 Funkce GC_SetOrigin

Knihovna : CanvasLib

Funkce přesune počátek souřadnic (bod 0, 0) na pozici kreslicího pera. Všechny souřadnice jsou potom chápány relativně k této pozici.

Tato funkce je vhodná pro kreslení opakujících se prvků pomocí maker. S výhodou lze také využít při kreslení symetrických prvků, kde je možné umístit počátek souřadnic do středu.

Přesun počátku souřadnic do výchozího bodu (levý horní roh kreslicí plochy) lze provést funkcí GC_ResetOrigin.

Pozn: Pokud po ukončení kreslení ponecháme počátek souřadnic přesunutý, budou se souřadnice stisku ve struktuře TCanvasData.touch vracet relativně k tomuto bodu.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_SetOrigin
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_ResetOrigin

GC_SetVirtSize


5.1.9 Funkce GC_SetTextSize

Knihovna : CanvasLib

Funkce nastavuje výšku písma v pixelech.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | size | USINT | výška písma v pixelech
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_SetTextSize
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_SetTextStyle


5.1.10 Funkce GC_SetTextStyle

Knihovna : CanvasLib

Funkce umožňuje změnit styl písma, zarovnání řádek ve víceřádkovém textu a způsob umístění textu vzhledem k souřadnici, od které se má text vykreslit.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | style | UINT | styl definovaný konstantami GTEXT_STYLE_...
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_SetTextStyle
 | Návratová hodnota | BOOL | FALSE


5.1.11 Funkce GC_SetVirtSize

Knihovna : CanvasLib

Funkce nastaví rozměr virtuální kreslicí plochy. Virtuální plocha se umístí na kreslící plátno tak, aby měla maximální rozměr při zachování poměru stran a její střed byl shodný se středem kreslícího plátna. V nastaveném rozměru virtuální plochy jsou zadávány souřadnice a rozměry následujících grafických operací. Také souřadnice dotyku se řídí naposledy zadaným rozměrem virtuální plochy. Díky této funkci je možné kreslit nezávisle na rozměru kreslícího plátna.

Pokud nastavíme oba vstupy width a height udávající šířku a výšku na hodnotu 0, dojde k nastavení fyzického rozměru kreslicí plochy (tím se obnoví výchozí stav). Pokud nastavíme jen jeden ze vstupů na 0, dojde k jeho dopočítání podle poměru stran kreslicího plátna.

Pokud si označíme šířku a výšku kreslící plochy jako canWidth a canHeight, bude pro měřítko kreslených objektů scale platit následující vztah:

Virtuální plocha je do kreslící plochy vystředěna, takže pozice středu kreslící a virtuální plochy jsou stejnolehlé.

Měřítko a stejnolehlost středů se pak použije pro přepočet souřadnic x a y, dle vzorce:

Příklad pro funkci se vstupy width = 100, height = 100 a rozměrem kreslící plochy canWidth = 800 a canHeight = 500.

Měřítko scale vychází 5. Přepočet souřadnic

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | width | INT | šířka virtuální kreslící plochy
 | height | INT | výška virtuální kreslící plochy
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_SetVirtSize
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_SetOrigin


5.2.1 Funkce GC_Heading

Knihovna : CanvasLib

Funkce nastavuje úhel kreslicího pera ve stupních. Hodnota 0 odpovídá směru doprava, hodnota 90 směru dolů.

Směr odpovídající různým hodnotám úhlu je patrný z následujícího obrázku:

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | angle | REAL | nový úhel kreslícího pera ve stupních
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Heading
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_Turn

GC_PushPosition

GC_PopPosition


5.2.2 Funkce GC_Move

Knihovna : CanvasLib

Funkce mění pozice kreslicího pera relativně k původnímu umístění (bez kreslení).

Vstupy x a y udávají relativní posun pozice kreslícího pera v ose x a y.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | x | INT | relativní změna pozice v ose X
 | y | INT | relativní změna pozice v ose Y
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Move
 | Návratová hodnota | BOOL | FALSE


5.2.3 Funkce GC_MoveFwd

Knihovna : CanvasLib

Funkce přesune pozici kreslicího pera o zadanou vzdálenost pod úhlem kreslicího pera (bez kreslení).

Vstup length udává vzdálenost mezi původní a novou pozicí pera. Tento parametr může být i záporný, v takovém případě je přesun proveden na opačnou stranu.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | length | INT | vzdálenost mezi starou a novou pozicí kreslícího pera
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_MoveFwd
 | Návratová hodnota | BOOL | FALSE


5.2.4 Funkce GC_MoveTo

Knihovna : CanvasLib

Změna pozice kreslicího pera (bez kreslení). Souřadnice se vztahují k počátku kreslícího plátna.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | x | INT | nová souřadnice X kreslícího pera
 | y | INT | nová souřadnice Y kreslícího pera
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_MoveTo
 | Návratová hodnota | BOOL | FALSE


5.2.5 Funkce GC_Turn

Knihovna : CanvasLib

Funkce pootočí úhel kreslicího pera o hodnotu zadanou ve stupních. Kladné hodnoty otáčí perem ve směru hodinových ručiček, záporné v proti směru.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | angle | REAL | úhel pootočení kreslicího pera ve stupních
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Turn
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_Heading


5.3.1 Funkce GC_Arc

Knihovna : CanvasLib

Funkce nakreslí oblouk / eliptickou výseč. Pozice kreslicího pera se přesune do středu.

Křížkem je vyznačena pozice středu definovaná vstupy x a y. Tvar elipsy určují poloměry rx a ry. Počátek výseče je dán úhlem angle. Délka oblouku úhlem dangle. Vstup dangle může být i záporný pokud chceme vykreslit oblouk od počátku proti směru hodinových ručiček.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha výseče (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze oblouk (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | x | INT | souřadnice X středového bodu
 | y | INT | souřadnice Y středového bodu
 | rx | INT | poloměr v ose X
 | ry | INT | poloměr v ose Y
 | angle | REAL | počáteční úhel oblouku ve stupních
 | dangle | REAL | délka oblouku ve stupních
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Arc
 | Návratová hodnota | BOOL | FALSE


5.3.2 Funkce GC_Box

Knihovna : CanvasLib

Funkce vykreslí obdélník. Kreslící pero posune do středu obdélníku. Vstupy x a y udávají souřadnice levého horního rohu.

Vstupy x a y udávají souřadnice levého horního rohu.

Vstupy width a height šířku respektive výšku obdélníku.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha obdélníku (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze obrys (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | x | INT | souřadnice X levého horního rohu
 | y | INT | souřadnice Y levého horního rohu
 | width | INT | šířka obdélníku
 | height | INT | výška obdélníku
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Box
 | Návratová hodnota | BOOL | FALSE


5.3.3 Funkce GC_Circle

Knihovna : CanvasLib

Funkce nakreslí kružnici. Pozice kreslicího pera se přesune do středu.

Vstup r udává poloměr kruhu. Vstupy x a y pozici středu.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha kruhu (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze kružnice (vyznačena tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | x | INT | souřadnice X středového bodu
 | y | INT | souřadnice Y středového bodu
 | r | INT | poloměr
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Circle
 | Návratová hodnota | BOOL | FALSE


5.3.4 Funkce GC_Line

Knihovna : CanvasLib

Funkce vykreslí čáru mezi dvěma body. Pozice kreslicího pera se přesune do koncového bodu čáry.

Barvu čáry lze nastavit funkcí GC_SetFgColor, funkce GC_SetLineStyle mění styl čáry, funkcí GC_SetLineWidth lze změnit šířku čáry.

Vstupy x1 a y1 udávají souřadnice výchozího bodu, souřadnice x2 a y2 souřadnice koncového bodu.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | x1 | INT | souřadnice X počátečního bodu
 | y1 | INT | souřadnice Y počátečního bodu
 | x2 | INT | souřadnice X koncového bodu
 | y2 | INT | souřadnice Y koncového bodu
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Line
 | Návratová hodnota | BOOL | FALSE


5.3.5 Funkce GC_LineFwd

Knihovna : CanvasLib

Funkce vykreslí čáru zadané délky od pozice kreslicího pera pod úhlem kreslicího pera. Pozice kreslicího pera se přesune do koncového bodu čáry.

Barvu čáry lze nastavit funkcí GC_SetFgColor, funkce GC_SetLineStyle mění styl čáry, funkcí GC_SetLineWidth lze změnit šířku čáry.

Vstup length udává délku čáry. Tento parametr může být i záporný, v takovém případě je čára vykreslena na opačnou stranu.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | length | INT | délka čáry
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_LineFwd
 | Návratová hodnota | BOOL | FALSE


5.3.6 Funkce GC_LineTo

Knihovna : CanvasLib

Funkce kreslí čáru od současné pozice kreslicího pera do zadaného bodu. Pozice kreslicího pera se přesune do koncového bodu čáry.

Barvu čáry lze nastavit funkcí GC_SetFgColor, funkce GC_SetLineStyle mění styl čáry, funkcí GC_SetLineWidth lze změnit šířku čáry.

Vstupy x a y udávají pozici koncového bodu.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | x | INT | souřadnice X koncového bodu
 | y | INT | souřadnice Y koncového bodu
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_LineTo
 | Návratová hodnota | BOOL | FALSE


5.3.7 Funkce GC_Point

Knihovna : CanvasLib

Funkce vykreslí bod o velikosti jeden pixel na zadaných souřadnicích. Na stejné souřadnice nastaví i pozici kreslícího pera.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | x | INT | souřadnice X
 | y | INT | souřadnice Y
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Point
 | Návratová hodnota | BOOL | FALSE


5.3.8 Funkce GC_Polygon

Knihovna : CanvasLib

Funkce vykreslí mnohoúhelník. Souřadnice jednotlivých bodů se přidávají pomocí funkce GC_AddPoint. Pozice kreslícího pera se nemění.

Vstup NumPoints udává počtu bodů mnohoúhelníku. Za funkcí GC_CPolygon musí následovat počet volání funkce GC_AddPoint odpovídající hodnotě vstupu NumPoints.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha mnohoúhelníku (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze obrys mnohoúhelníku (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | numPoints | USINT | počet bodů
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Polygon
 | Návratová hodnota | BOOL | FALSE


5.3.9 Funkce GC_PolygonArray

Knihovna : CanvasLib

Výstup funkce je shodný s funkcí GC_Polygon, liší se pouze způsobem předání souřadnic jednotlivých bodů.

Funkce vykreslí mnohoúhelník. Pozice kreslícího pera se nemění.

Vstup numPoints udává počtu bodů mnohoúhelníku. Souřadnice bodů jsou uloženy v poli, jehož první prvek se přiřadí vstupu points. Pole musí mít být typu TCanvasPoint a počet jeho prvků musí být shodný nebo větší než hodnota numPoints.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha mnohoúhelníku (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze obrys mnohoúhelníku (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | numPoints | USINT | počet bodů
VAR_IN_OUT
 | points | TCanvasPoint | první bod v poli bodů
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_PolygonArray
 | Návratová hodnota | BOOL | FALSE


5.3.10 Funkce GC_Polygon4

Knihovna : CanvasLib

Funkce vykreslí čtyřúhelník zadaný čtyřmi body. Pozice kreslícího pera se nemění.

Vstupy x1, y1, x2, y2, x3, y3, x4 a y4 udávají pozice jednotlivých bodů.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha čtyřúhelníku (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze obrys čtyřúhelníku (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | x1 | INT | souřadnice X prvního bodu
 | y1 | INT | souřadnice Y prvního bodu
 | x2 | INT | souřadnice X druhého bodu
 | y2 | INT | souřadnice Y druhého bodu
 | x3 | INT | souřadnice X třetího bodu
 | y3 | INT | souřadnice Y třetího bodu
 | x4 | INT | souřadnice X čtvrtého bodu
 | y4 | INT | souřadnice Y čtvrtého bodu
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Polygon4
 | Návratová hodnota | BOOL | FALSE


5.3.11 Funkce GC_RoundBox

Knihovna : CanvasLib

Vykreslí obdélník se zakulacenými rohy. Kreslící pero posune do středu obdélníku.

Vstupy x a y udávají souřadnice levého horního rohu.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha obdélníku (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze obrys (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | x | INT | souřadnice X levého horního rohu
 | y | INT | souřadnice Y levého horního rohu
 | width | INT | šířka obdélníku
 | height | INT | výška obdélníku
 | r | INT | poloměr rohu
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_RoundBox
 | Návratová hodnota | BOOL | FALSE


5.3.12 Funkce GC_Triangle

Knihovna : CanvasLib

Vykreslí trojúhelník zadaný třemi body. Pozice kreslícího pera se nemění.

Vstupy x1, y1, x2, y2, x3, y3 udávají pozice jednotlivých bodů.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha trojúhelníku (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze obrys trojúhelníku (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | x1 | INT | souřadnice X prvního bodu
 | y1 | INT | souřadnice Y prvního bodu
 | x2 | INT | souřadnice X druhého bodu
 | y2 | INT | souřadnice Y druhého bodu
 | x3 | INT | souřadnice X třetího bodu
 | y3 | INT | souřadnice Y třetího bodu
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Triangle
 | Návratová hodnota | BOOL | FALSE


5.3.13 Funkce GC_WriteText

Knihovna : CanvasLib

Funkce vypíše text od pozice kreslicího pera. Text může být i víceřádkový, jednotlivé řádky se oddělují znakem $n. Velikost písma je možné změnit funkcí GC_SetTextSize, pomocí funkce GC_SetTextStyle lze změnit styl písma a způsob zarovnání jednotlivých řádek textu. Pozice kreslícího pera se mění v závislosti na tom, zda se text vypisuje doleva, na střed či doprava od jeho pozice.

Pokud se text zobrazuje od pozice kreslicího pera směrem vpravo ( GTEXT_STYLE_HRIGHT), posune se souřadnice x kreslicího pera za text. Pokud se text zobrazuje od pozice kreslicího pera směrem vlevo (GTEXT_STYLE_HLEFT), posune se souřadnice x kreslicího pera před text. Při výpisu od středu (GTEXT_STYLE_HCENTER) se pozice x kreslicího pera nemění. Souřadnice y kreslicího pera se mění analogicky v závislosti na vertikálním umístění ( GTEXT_STYLE_VDOWN, GTEXT_STYLE_VUP ), ale pouze v případě, že je použito zarovnání GTEXT_STYLE_HCENTER. Díky tomu je možné volat za sebou funkci víckrát a text navazuje na sebe.

Pro usnadnění výpisu centrovaného textu ( GTEXT_STYLE_ALIGN_CENTER + GTEXT_STYLE_HCENTER + GTEXT_STYLE_VCENTER ) existuje speciální funkce GC_CWriteText .

Následující obrázek demonstruje různé možnosti zarovnání textu a změny pozice pera, od které se text zobrazuje. Větší červené kolečko znázorňuje pozici kreslicího pera před výpisem textu, menší fialové po výpisu textu.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | text | STRING[80] | text, který se má zobrazit
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_WriteText
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_SetTextSize

GC_SetTextStyle

GC_CWriteText


5.4.1 Funkce GC_CArc

Knihovna : CanvasLib

Funkce nakreslí oblouk / eliptickou výseč se středem na pozici kreslícího pera.

Křížkem je vyznačena pozice středu definovaná pozicí kreslícího pera. Tvar elipsy je určen poloměry rx a ry. Počátek výseče je dán úhlem angle. Délka oblouku úhlem dangle. Vstup dangle může být i záporný pokud chceme vykreslit oblouk od počátku proti směru hodinových ručiček.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha výseče (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze oblouk (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | rx | INT | poloměr v ose X
 | ry | INT | poloměr v ose Y
 | angle | REAL | počáteční úhel oblouku ve stupních
 | dangle | REAL | délka oblouku ve stupních
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_CArc
 | Návratová hodnota | BOOL | FALSE


5.4.2 Funkce GC_CBox

Knihovna : CanvasLib

Funkce nakreslí obdélník centrovaný kolem pozice kreslicího pera natočený podle úhlu kreslicího pera. Pozice kreslicího pera se nemění.

Vstupy width a height šířku respektive výšku obdélníku.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha obdélníku (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze obrys (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | width | INT | šířka obdélníku
 | height | INT | výška obdélníku
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_CBox
 | Návratová hodnota | BOOL | FALSE


5.4.3 Funkce GC_CCircle

Knihovna : CanvasLib

Funkce nakreslí kružnici se středem na pozici kreslícího pera.

Vstup r udává poloměr kruhu.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha kruhu (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze kružnice (vyznačena tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | r | INT | poloměr
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_CCircle
 | Návratová hodnota | BOOL | FALSE


5.4.4 Funkce GC_CPolygon

Knihovna : CanvasLib

Funkce nakreslí mnohoúhelník kolem pozice kreslicího pera natočený o úhel kreslicího pera. Souřadnice jednotlivých bodů jsou relativní k pozici kreslicího pera. Body se přidávají pomocí funkce GrCanvas_AddPoint. Pozice kreslicího pera se nemění.

Vstup numPoints udává počtu bodů mnohoúhelníku. Za funkcí GC_CPolygon musí následovat počet volání funkce GC_AddPoint odpovídající hodnotě vstupu numPoints.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha mnohoúhelníku (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze obrys mnohoúhelníku (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | numPoints | USINT | počet bodů
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Polygon
 | Návratová hodnota | BOOL | FALSE


5.4.5 Funkce GC_CPolygonArray

Knihovna : CanvasLib

Výstup funkce je shodný s funkcí GC_CPolygon, liší se pouze způsobem předání souřadnic jednotlivých bodů.

Funkce nakreslí mnohoúhelník kolem pozice kreslicího pera natočený o úhel kreslicího pera. Pozice kreslicího pera se nemění.

Vstup numPoints udává počtu bodů mnohoúhelníku. Souřadnice bodů jsou uloženy v poli, jehož první prvek se přiřadí vstupu points. Pole musí mít být typu TCanvasPoint a počet jeho prvků musí být shodný nebo větší než hodnota numPoints.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha mnohoúhelníku (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze obrys mnohoúhelníku (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | numPoints | USINT | počet bodů
VAR_IN_OUT
 | points | TCanvasPoint | první bod v poli bodů
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_CPolygonArray
 | Návratová hodnota | BOOL | FALSE


5.4.6 Funkce GC_CPolygon4

Knihovna : CanvasLib

Funkce vykreslí čtyřúhelník zadaný čtyřmi body kolem pozice kreslicího pera natočený o úhel kreslicího pera. Souřadnice jednotlivých bodů jsou relativní k pozici kreslicího pera. Pozice kreslicího pera se nemění.

Vstupy x1, y1, x2, y2, x3, y3, x4 a y4 udávají pozice jednotlivých bodů relativní k pozici kreslícího pera.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha čtyřúhelníku (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze obrys čtyřúhelníku (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | x1 | INT | souřadnice X prvního bodu
 | y1 | INT | souřadnice Y prvního bodu
 | x2 | INT | souřadnice X druhého bodu
 | y2 | INT | souřadnice Y druhého bodu
 | x3 | INT | souřadnice X třetího bodu
 | y3 | INT | souřadnice Y třetího bodu
 | x4 | INT | souřadnice X čtvrtého bodu
 | y4 | INT | souřadnice Y čtvrtého bodu
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_CPolygon4
 | Návratová hodnota | BOOL | FALSE


5.4.7 Funkce GC_ CRoundBox

Knihovna : CanvasLib

Funkce nakreslí obdélník se zakulacenými rohy centrovaný kolem pozice kreslicího pera natočený podle úhlu kreslicího pera. Pozice kreslicího pera se nemění.

Vstupy width a height šířku respektive výšku obdélníku. Vstup r poloměr zaoblení rohů obdélníku.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha obdélníku (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze obrys (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | width | INT | šířka obdélníku
 | height | INT | výška obdélníku
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_CBox
 | Návratová hodnota | BOOL | FALSE


5.4.8 Funkce GC_CTriangle

Knihovna : CanvasLib

Funkce vykreslí trojúhelník zadaný třemi body kolem pozice kreslicího pera natočený o úhel kreslicího pera. Souřadnice jednotlivých bodů jsou relativní k pozici kreslicího pera. Pozice kreslicího pera se nemění.

Vstupy x1, y1, x2, y2, x3, y3 udávají pozice jednotlivých bodů relativní k pozici kreslícího pera.

Pokud je vstup fill nastaven na TRUE, vykreslí se vyplněná plocha trojúhelníku (modrá plocha na obrázku), pokud má hodnotu FALSE, vykreslí se pouze obrys trojúhelníku (vyznačen tučnou čarou).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | fill | BOOL | kreslit výplň
 | x1 | INT | souřadnice X prvního bodu
 | y1 | INT | souřadnice Y prvního bodu
 | x2 | INT | souřadnice X druhého bodu
 | y2 | INT | souřadnice Y druhého bodu
 | x3 | INT | souřadnice X třetího bodu
 | y3 | INT | souřadnice Y třetího bodu
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_CTriangle
 | Návratová hodnota | BOOL | FALSE


5.4.9 Funkce GC_CWriteText

Knihovna : CanvasLib

Funkce vypíše text centrovaný kolem pozice kreslicího pera. Text může být i víceřádkový, jednotlivé řádky se oddělují znakem $n. Velikost písma je možné změnit funkcí GC_SetTextSize, pomocí funkce GrCanvas_SetTextStyle lze změnit styl písma a způsob zarovnání jednotlivých řádek textu. Pozice kreslícího pera se nemění.

Na obrázku je vypsán text 'Hello$nWorld!' velikostí textu 32, styl textu byl nastaven s parametrem GTEXT_STYLE_FILLBG.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | text | STRING[80] | text, který se má zobrazit
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_CWriteText
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_SetTextSize

GC_SetTextStyle

GC_WriteText


5.5.1 Funkce GC_CImage

Knihovna : CanvasLib

Funkce zobrazí obrázek vystředěný na pozici kreslicího pera. Pozice kreslícího pera se nemění. Obrázek musí být asociovaný s objektem kreslícího plátna.

Asociace se provede přes tlačítko „Přiřadit obrázky...“ ve vlastnostech kreslícího plátna. Dlouhé jméno obrázku se pak přiřadí na vstup fileName.

Vstupy width a height umožňují změnu původního rozměru obrázku. Pokud zůstanou nepřiřazeny nebo je do nich přiřazena hodnota 0, zůstává původní rozměr obrázku.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | width | INT | šířka vykresleného obrázku (0 původní velikost)
 | height | INT | výška vykresleného obrázku (0 původní velikost)
 | fileName | STRING[80] | dlouhé jméno obrázku přiřazené ke kreslicímu plátnu
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_CImage
 | Návratová hodnota | BOOL | FALSE


5.5.2 Funkce GC_Image

Knihovna : CanvasLib

Funkce zobrazí obrázek, levý horní roh bude umístěn na pozici kreslicího pera. Pozice kreslicího pera se přesune do středu obrázku. Obrázek musí být asociovaný s objektem kreslícího plátna.

Asociace se provede přes tlačítko „Přiřadit obrázky...“ ve vlastnostech kreslícího plátna. Dlouhé jméno obrázku se pak přiřadí na vstup fileName.

Vstupy width a height umožňují změnu původního rozměru obrázku. Pokud zůstanou nepřiřazeny nebo je do nich přiřazena hodnota 0, zůstává původní rozměr obrázku.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | width | INT | šířka vykresleného obrázku (0 původní velikost)
 | height | INT | výška vykresleného obrázku (0 původní velikost)
 | fileName | STRING[80] | jméno obrázku
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Image
 | Návratová hodnota | BOOL | FALSE


5.6.1 Funkce GC_GraphAddData

Knihovna: CanvasLib

Přidá jeden datový bod do grafu. Tato funkce se používá po funkcích GC_GraphBars a GC_GraphLine .

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | data | INT | Souřadnice Y datového bodu v pixelech relativně k pozici kreslícího pera
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_GraphAddData
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_GraphBars

GC_GraphLine


5.6.2 Funkce GC_GraphBars

Knihovna : CanvasLib

Funkce vykreslí data pro sloupcový graf. Kreslení probíhá od pozice kreslicího pera a souřadnice Y jednotlivých datových bodů jsou relativní k pozici kreslicího pera. Jednotlivé souřadnice se přidávají pomocí funkce GC_GraphAddData. Pozice kreslicího pera se nemění.

Způsob zobrazení sloupců grafu respektuje volby výplně a gradientu, které se nastavují funkcemi GC_SetFillStyle a GC_SetGradientStyle.

Vstup length udává vzdálenost středů prvního a posledního sloupce. Vstup barWidth určuje šířku sloupce. Mezery mezi sloupci je dán vzorcem

Za funkcí GC_GraphBars musí následovat počet volání funkce GC_GraphAddData odpovídající hodnotě vstupu NumPoints. Každé volání GC_GraphAddData přidá jednu datovou hodnotu, která se vykreslení jako jeden sloupec.

Kladné datové hodnoty se vykreslují směrem nahoru.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | params | USINT | volitelné parametry, které upravují zobrazení grafu (momentálně nevyužito)
 | length | INT | vzdálenost mezi středy prvního a posledního sloupce v pixelech
 | barWidth | INT | šířka sloupců
 | numPoints | INT | počet datových bodů
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_GraphBars
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_SetFillStyle

GC_SetGradientStyle

GC_SetBgColor


5.6.3 Funkce GC_GraphBarsArray

Knihovna : CanvasLib

Výstup funkce je shodný s funkcí GC_GraphBars, liší se pouze způsob předání hodnot datových bodů.

Funkce vykreslí data pro sloupcový graf. Kreslení probíhá od pozice kreslicího pera, souřadnice Y jednotlivých datových bodů jsou relativní k pozici kreslicího pera. Jednotlivé souřadnice se předávají jako pole hodnot typu INT. Kladné hodnoty se vykreslují směrem nahoru. Pozice kreslicího pera se nemění.

Způsob zobrazení sloupců grafu respektuje volby výplně a gradientu, které se nastavují funkcemi GC_SetFillStyle a GC_SetGradientStyle.

Vstup length udává vzdálenost středů prvního a posledního sloupce. Vstup barWidth určuje šířku sloupce. Mezery mezi sloupci je dán vzorcem

Na vstupu numPoints se předává počet datových sloupců. Výška sloupců je uložena v poli, jehož první prvek se přiřadí vstupu data. Pole musí mít být typu INT a počet jeho prvků musí být shodný nebo větší než hodnota numPoints.

Kladné datové hodnoty se vykreslují směrem nahoru.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | params | USINT | volitelné parametry, které upravují zobrazení grafu (momentálně nevyužito)
 | length | INT | vzdálenost mezi středy prvního a posledního sloupce v pixelech
 | barWidth | INT | šířka sloupců
 | numPoints | INT | počet datových bodů
VAR_IN_OUT
 | data | INT | první prvek pole souřadnic Y relativně k pozici kreslicího pera
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_GraphBarsArray
 | Návratová hodnota | BOOL | FALSE


5.6.4 Funkce GC_GraphBarsRealArray

Knihovna : CanvasLib

Funkce vykreslí data pro sloupcový graf. Kreslení probíhá od pozice kreslicího pera. Tento bod odpovídá minimu os X a Y. Jednotlivé souřadnice se předávají jako pole hodnot typu REAL a jsou měřítkovány dle minY a maxY. Kladné hodnoty se vykreslují směrem nahoru. Pozice kreslicího pera se nemění.

Způsob zobrazení sloupců grafu respektuje volby výplně a gradientu, které se nastavují funkcemi GC_SetFillStyle a GC_SetGradientStyle.

Vstup length udává vzdálenost středů prvního a posledního sloupce. Vstup barWidth určuje šířku sloupce. Mezery mezi sloupci je dán vzorcem

Na vstupu numPoints se předává počet datových sloupců. Výška sloupců je uložena v poli, jehož první prvek se přiřadí vstupu data. Pole musí mít být typu REAL a počet jeho prvků musí být shodný nebo větší než hodnota numPoints.

Pokud je maxY ≥ 0 ≥ minY, pak je aktuální výška sloupce v pixelech je dána vzorcem

,

pro případ 0 ≥ maxY ≥ minY platí

,

a pro případ maxY ≥ minY≥ 0

,

kde data[x] je x-tý prvek pole určující výšku x-tého sloupce.

Kladné datové hodnoty se vykreslují směrem nahoru.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | params | USINT | volitelné parametry, které upravují zobrazení grafu
 | length | INT | vzdálenost mezi středy prvního a posledního sloupce v pixelech
 | barWidth | INT | šířka sloupců
 | numPoints | INT | počet datových bodů
 | height | INT | výška grafu v pixelech
 | minY | REAL | hodnota odpovídající minimu grafu
 | maxY | REAL | hodnota odpovídající maximu grafu
VAR_IN_OUT
 | data | REAL | první prvek pole souřadnic Y
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_GraphBarsRealArray
 | Návratová hodnota | BOOL | FALSE


5.6.5 Funkce GC_GraphLine

Knihovna : CanvasLib

Funkce vykreslí data pro čárový graf. Kreslení probíhá od pozice kreslicího pera, souřadnice Y jednotlivých datových bodů jsou relativní k pozici kreslicího pera. Jednotlivé souřadnice se přidávají pomocí funkce GC_GraphAddData. Pozice kreslicího pera se nemění.

Vzhled vykresleného grafu lze upravit volitelnými parametry Params. Pomocí parametrů je možné zapnout datové značky, vyplnit plochu pod grafem k ose x nebo zapnout interpolaci dat.

Šířka čáry je dána globálním nastavením pomocí funkce GC_SetLineWidth .

Graf na obrázku je vykreslen s parametry params := GGRAPH_LINE_FILL + GGRAPH_LINE_INTERPOLATE + GGRAPH_LINE_SHOWCROSS

Šířka grafu je dána vstupem length.

Za funkcí GC_GraphLine musí následovat počet volání funkce GC_GraphAddData odpovídající hodnotě vstupu NumPoints. Každé volání GC_GraphAddData přidá jednu datovou hodnotu, která se vykreslení jako jeden bod v grafu.

Kladné datové hodnoty se vykreslují směrem nahoru.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | params | USINT | volitelné parametry, které upravují zobrazení grafu (konstanty GGRAPH_LINE_...)
 | length | INT | délka čáry grafu v pixelech
 | numPoints | INT | počet datových bodů
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_GraphLine
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_GraphAddData

GC_SetFgColor

GC_SetLineWidth


5.6.6 Funkce GC_GraphLineArray

Knihovna : CanvasLib

Výstup funkce je shodný s funkcí GC_GraphLine, liší se pouze způsob předání hodnot datových bodů.

Funkce vykreslí data pro čárový graf. Kreslení probíhá od pozice kreslicího pera, souřadnice Y jednotlivých datových bodů jsou relativní k pozici kreslicího pera. Jednotlivé souřadnice se předávají jako pole hodnot typu INT. Pozice kreslicího pera se nemění.

Vzhled vykresleného grafu lze upravit volitelnými parametry Params. Pomocí parametrů je možné zapnout datové značky, vyplnit plochu pod grafem k ose x nebo zapnout interpolaci dat.

Šířka čáry je dána globálním nastavením pomocí funkce GC_SetLineWidth .

Graf na obrázku je vykreslen s parametry params := GGRAPH_LINE_FILL + GGRAPH_LINE_INTERPOLATE + GGRAPH_LINE_SHOWCROSS

Šířka grafu je dána vstupem length.

Na vstupu numPoints se předává počet datových bodů. Poloha bodů je uložena v poli, jehož první prvek se přiřadí vstupu data. Pole musí mít být typu INT a počet jeho prvků musí být shodný nebo větší než hodnota numPoints.

Kladné datové hodnoty se vykreslují směrem nahoru.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | params | USINT | volitelné parametry, které upravují zobrazení grafu (konstanty GGRAPH_LINE_...)
 | length | INT | délka čáry grafu v pixelech
 | numPoints | INT | počet datových bodů
VAR_IN_OUT
 | data | INT | první prvek pole souřadnic Y relativně k pozici kreslicího pera
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_GraphLineArray
 | Návratová hodnota | BOOL | FALSE


5.6.7 Funkce GC_GraphLineArrayReal

Knihovna : CanvasLib

Funkce vykreslí data pro čárový graf. Kreslení probíhá od pozice kreslicího pera. Tento bod odpovídá minimu os X a Y. Jednotlivé souřadnice se přidávají jako pole hodnot typu REAL a jsou měřítkovány dle minY a maxY. Pozice kreslicího pera se nemění.

Vzhled vykresleného grafu lze upravit volitelnými parametry Params. Pomocí parametrů je možné zapnout datové značky, vyplnit plochu pod grafem k ose x nebo zapnout interpolaci dat. Plocha grafu je vyplněna směrem k nulové hodnotě.

Šířka čáry je dána globálním nastavením pomocí funkce GC_SetLineWidth .

Graf na obrázku je vykreslen s parametry params := GGRAPH_LINE_FILL + GGRAPH_LINE_INTERPOLATE

Šířka grafu je dána vstupem length.

Na vstupu numPoints se předává počet datových bodů. Poloha bodů je uložena v poli, jehož první prvek se přiřadí vstupu data. Pole musí mít být typu REAL a počet jeho prvků musí být shodný nebo větší než hodnota numPoints.

Kladné datové hodnoty se vykreslují směrem nahoru.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | params | USINT | volitelné parametry, které upravují zobrazení grafu (konstanty GGRAPH_LINE_...)
 | length | INT | délka čáry grafu v pixelech
 | numPoints | INT | počet datových bodů
VAR_IN_OUT
 | data | INT | první prvek pole souřadnic Y relativně k pozici kreslicího pera
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_GraphLineArray
 | Návratová hodnota | BOOL | FALSE


5.6.8 Funkce GC_LinearScale

Knihovna : CanvasLib

Funkce vykreslí lineární stupnici. Rozměr stupnice je dán vstupem length. Stupnice se vykreslují od pozice pera doprava nebo nahoru. Směr kreslení se dá obrátit zadáním záporné hodnoty na vstupu length. Hodnota popisek stupnice je dána vstupem sVal (hodnota u pozice pera) a eVal (hodnota na konci stupnice).

Zda bude stupnice vykreslena svisle nebo vodorovně je dáno konstantou GLSCALE_VERTICAL respektive GLSCALE_HORIZONTAL, která se přiřadí do vstupu params. Vodorovný směr je výchozí, takže přiřazení GLSCALE_HORIZONTAL je nepovinné.

Velikost hlavních a vedlejších značek určují vstupy majorTickLen respektive minorTickLen. Pokud jsou tyto rozměry kladné, jsou vykresleny značky pod čáru stupnice pro vodorovnou variantu nebo vlevo pro variantu svislou. V případě záporných hodnot jsou vykresleny nad čáru u vodorovné varianty a vpravo u svislé. Odstup textu od značky je dán absolutně vstupem labelOffset. Velikost textu se řídí hodnotou nastavenou funkcí GC_SetTextSize .

U každé hlavní značky je vykreslena čára mřížky, její délka je dána parametrem gridLength a její orientace je opačná proti vlastním značkám. Čáry mřížky jsou kresleny s poloviční průhledností v porovnání s čarami stupnice. Pokud je vstup gridLength roven 0, kreslení čar mřížky je potlačeno.

Stupnice je rozdělena hlavními značkami po intervalu daném hodnotou vstupu majorStep a to tak, aby bylo zajištěno, že jedna ze značek bude na hodnotě určené vstupem labelAt. Interval hlavních značek je pak dále dělen vedlejšími značkami na počet dílků definovaný vstupem stepDiv. Počet desetinných míst popisek se řídí vstupem labelDec. Vstupem labelStep lze nastavit hustotu popisků. Pokud je labelStep menší nebo roven 1, je popisek u každé hlavní značky, pokud 2, je popisek u každé druhé, pro hodnotu 3 u každé třetí atd. Hlavní značky bez popisu jsou pro lepší čitelnost vykresleny v délce rovné aritmetickému průměru majorTickLen a minorTickLen.

Pokud je zadán majorStep nula, bude stupnice rozdělena značkami automaticky tak, aby se její délka co nejlépe využila. Parametry stepDiv, labelAt, labelDec a labelStep se v tomto případě neuplatní. Toto nastavení je vhodné použít v případě, že se bude rozsah stupnice dynamicky měnit během běhu programu.

Algoritmus automatického dělení má snahu vykreslit značky s co největší hustotou při zachování minimální vzdálenosti mezi značkami a texty popisek.

Stupnice na obrázku je vykreslena s parametry length := 400, majorTickLen := 25, minorTickLen := 12, gridLength := 200, labelOffset := 3, labelDec := 0, sVal := -3.9, eVal := 4.75, majorStep := 0.0, labelAt := 0.0, labelStep := 0, stepDiv := 0, params := GLSCALE_BOLD_TICK + GLSCALE_VERTICAL

Stupnice na obrázku je vykreslena s parametry length := 400, majorTickLen := 25, minorTickLen := 12, gridLength := 200, labelOffset := 3, labelDec := 0, sVal := 0.0, eVal := 10.0, majorStep := 1.0, labelAt := 0.0, labelStep := 2, stepDiv := 5, params := GLSCALE_HORIZONTAL

Další parametry stupnice lze ovlivnit vstupem params, kterému je možné přiřadit konstanty GLSCALE_... (lze přiřadit i více konstant tak, že se jejich hodnoty sečtou).

Stupnici je možné vykreslit bez základní čáry nebo bez popisu, použitím konstanty GRSCALE_NO_BASELINE respektive GRSCALE_NO_LABELS.

Podobu hlavních značek je možné modifikovat použitím konstanty GRSCALE_BOLD_TICK (hlavní značky jsou vykreslena dvojnásobnou šířkou čáry).

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | length | INT | délka
 | majorTickLen | INT | délka hlavní značky s popisem (kladné se kreslí doleva/dolu)
 | minorTickLen | INT | délka vedlejší značky
 | gridLength | INT | délka čáry mřížky
 | labelOffset | USINT | odstup textu od značky
 | labelDec | USINT | počet desetinných míst popisu
 | sVal | REAL | počáteční hodnota
 | eVal | REAL | koncová hodnota
 | majorStep | REAL | krok po kterém budou vykresleny hlavní značky
 | labelAt | REAL | hodnota na které bude značka s popiskou
 | labelStep | USINT | krok po kterém je vykreslena popiska
 | stepDiv | USINT | dělení kroku hlavních značek pro kreslení vedlejších značek
 | params | INT | další parametry (konstanty GLSCALE_...)
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_LinearScale
 | Návratová hodnota | BOOL | FALSE


5.6.9 Funkce GC_RadialScale

Knihovna : CanvasLib

Funkce vykreslí stupnici kruhového měřidla. Rozměr stupnice je dán poloměrem na vstupu radius. Stupnice je vykreslena po směru hodinových ručiček od počátečního úhlu daného vstupem s Angle do koncového úhlu eAngle.

Velikost hlavních a vedlejších značek určují vstupy majorTickLen respektive minorTickLen. Pokud jsou tyto rozměry kladné, jsou vykresleny značky vně zadaného poloměru, v případě záporných hodnot jsou vykresleny uvnitř. Odstup textu od značky je dán absolutně vstupem labelOffset. Velikost textu se řídí hodnotou nastavenou funkcí GC_SetTextSize .

Rozmístění značek a hodnot u nich zobrazených se řídí nastavením počáteční hodnoty s Val, která odpovídá počátečnímu úhlu a koncové hodnoty e Val, která odpovídá koncovému úhlu. Tento úsek je pak rozdělen hlavními značkami po intervalu daném hodnotou vstupu majorStep a to tak, aby bylo zajištěno, že jedna ze značek bude na hodnotě určené vstupem labelAt. Interval hlavních značek je pak dále dělen vedlejšími značkami na počet dílků definovaný vstupem stepDiv. Počet desetinných míst popisek se řídí vstupem labelDec. Vstupem labelStep lze nastavit hustotu popisků. Pokud je labelStep menší nebo roven 1 je popisek u každé hlavní značky, pokud 2 je popisek u každé druhé, pro hodnotu 3 u každé třetí atd.

Další parametry stupnice lze ovlivnit vstupem params, kterému je možné přiřadit konstanty GRSCALE_... (lze přiřadit i více konstant tak, že se jejich hodnoty sečtou)

Pro stupnice, které tvoří celý kruh (sAngle = eAngle) lze využít konstant GRSCALE_NO_FIRST nebo GRSCALE_NO_LAST pro potlačení první respektive poslední popisky. Stupnici je možné vykreslit i zcela bez popisků, použitím konstanty GRSCALE_NO_LABELS.

Konstanta GRSCALE_OUTLINE povolí vykreslení oblouku od počátečního do koncového úhlu.

Podobu hlavních značek je možné modifikovat použitím konstant GRSCALE_BOLD_TICK (hlavní značky jsou vykreslena dvojnásobnou šířkou čáry) a GRSCALE_CIRCULAR_TICK (hlavní značky jsou vykresleny jako kolečka o průměru odpovídajícímu hodnotě na vstupu majorTickLen.

Stupnice na obrázku je vykreslena s parametry radius := 150, sAngle := 135, eAngle := 45, majorTickLen := 25, minorTickLen := 12, labelOffset := 12, labelDec := 1, sVal := -0.5, eVal := 4.5, majorStep := 0.5, labelAt := 0.0, labelStep := 2, stepDiv := 5, params := GRSCALE_OUTLINE

Stupnice na obrázku je vykreslena s parametry radius := 150, sAngle := 270, eAngle := 270, majorTickLen := -12, minorTickLen := -6, labelOffset := 12, labelDec := 0, sVal := 0.0, eVal := 12.0, majorStep := 1.0, labelAt := 12.0, labelStep := 3, stepDiv := 2, params := GRSCALE_CIRCULAR_TICK + GRSCALE_NO_FIRST

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | radius | INT | poloměr
 | sAngle | REAL | počáteční úhel - odpovídá minimální hodnotě
 | eAngle | REAL | koncový úhel - odpovídá maximální hodnotě
 | majorTickLen | INT | délka hlavní značky s popisem (kladné se kreslí směrem do středu)
 | minorTickLen | INT | délka vedlejší značky
 | labelOffset | USINT | odstup textu od značky
 | labelDec | USINT | počet desetinných míst popisu
 | sVal | REAL | počáteční hodnota
 | eVal | REAL | koncová hodnota
 | majorStep | REAL | krok po kterém budou vykresleny hlavní značky
 | labelAt | REAL | hodnota na které bude značka s popiskou
 | labelStep | USINT | krok po kterém je vykreslena popiska
 | stepDiv | USINT | dělení kroku hlavních značek pro kreslení vedlejších značek
 | params | INT | další parametry (konstanty GRSCALE_...)
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_RadialScale
 | Návratová hodnota | BOOL | FALSE


5.7.1 Funkce Alpha_TO_Color

Knihovna : CanvasLib

Nastaví barvě uložené ve formátu UDINT (16#AABBGGRR) průhlednost (0 - neprůhledné, 255 - průhledné)

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | color | UDINT | barva uložené ve formátu UDINT (16#AABBGGRR)
 | alpha | USINT | Požadovaná průhlednost (0 - neprůhledné, 255 - průhledné)
Alpha_TO_Color
 | Návratová hodnota | UDINT | Kód barvy s nastavenou průhledností

Viz též:

Color_TO_RGBA

RGBA_TO_Color


5.7.2 Funkce Color_TO_RGBA

Knihovna : CanvasLib

Rozloží barvu ve formátu UDINT (16#AABBGGRR) na jednotlivé složky RGB a průhlednost.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | color | UDINT | barva uložené ve formátu UDINT (16#AABBGGRR)
VAR_IN_OUT
 | R | USINT | Červená složka (0-255)
 | G | USINT | Zelená složka (0-255)
 | B | USINT | Modrá složka (0-255)
 | A | USINT | Průhlednost (0 - neprůhledné, 255 - průhledné)
Color_TO_RGBA
 | Návratová hodnota | BOOL | FALSE

Viz též:

Alpha_TO_Color

RGBA_TO_Color


5.7.3 Funkce RGBA_TO_Color

Knihovna : CanvasLib

Funkce složí barvu z jednotlivých složek RGB a průhlednosti do formátu UDINT (16#AABBGGRR)

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | R | USINT | Červená složka (0-255)
 | G | USINT | Zelená složka (0-255)
 | B | USINT | Modrá složka (0-255)
 | A | USINT | Průhlednost (0 - neprůhledné, 255 - průhledné)
RGBA_TO_Color
 | Návratová hodnota | UDINT | Složí barvu z jednotlivých složek RGB a průhlednosti do formátu UDINT (16#AABBGGRR)

Viz též:

Alpha_TO_Color

Color_TO_RGBA


5.8.1 Funkce GC_AddPoint

Knihovna : CanvasLib

Funkce slouží pro přidání souřadnic jednotlivých bodů polygonu, používá se po funkcích GC_CPolygon a GC_Polygon.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | x | INT | Souřadnice x
 | y | INT | Souřadnice y
VAR_IN_OUT
 | GrData | TCanvasData | Odkaz na buffer kreslícího plátna
GC_AddPoint
 | Návratová hodnota | BOOL | FALSE


5.8.2 Funkce GC_Begin

Knihovna : CanvasLib

Začátek kreslení, vynuluje buffer a odemkne jej pro zápis. Tuto funkci je nutné zavolat před začátkem kreslení.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_Begin
 | Návratová hodnota | BOOL | FALSE


5.8.3 Funkce GC_DataLen

Knihovna : CanvasLib

Funkce vrací počet bytů uložených v grafickém bufferu kreslícího plátna. Voláním této funkce po ukončení kreslení je možné zjistit, jak velký buffer je skutečně potřeba. Pro úsporu místa v zápisníku PLC je podle toho možné použít jinou strukturu TCanvasData s menším bufferem.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_DataLen
 | Návratová hodnota | UINT | vrací počet bytů uložených v grafickém bufferu kreslícího plátna


5.8.4 Funkce GC_End

Knihovna : CanvasLib

Konec kreslení, zamkne buffer pro zápis a povolí jeho vykreslení. Vrací TRUE pokud se všechny grafické operace uložily úspěšně. Funkce vrací TRUE pokud se všechna grafická data vešla do bufferu. Když je návratová hodnota FALSE, je třeba použít jinou strukturu TCanvasData s větším bufferem.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_End
 | Návratová hodnota | BOOL | vrací TRUE pokud se všechny grafické operace uložily úspěšně.


5.8.5 Funkce GC_MacroBegin

Knihovna : CanvasLib

Funkce označuje začátek bloku grafických operací, které lze potom opakovaně spouštět jako makro. Toto je výhodné pro snížení obsazeného místa v grafickém bufferu, pokud se některé sekvence grafických operací opakují. Parametrem funkce je index makra (1-10), přes tuto hodnotu potom můžeme makro spustit. Konec makra označuje funkce GC_MacroEnd .

Při zpracování dat v grafickém bufferu se všechny příkazy od GC_MacroBegin do GC_MacroEnd přeskočí, provedou se až při spuštění makra funkcí GC_MacroRun .

Funkce GC_MacroBegin může použít index makra, které již bylo definováno. Tímto se příslušné makro změní a od tohoto okamžiku bude funkce GC_MacroRun spouštět toto nové makro.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | index | USINT | index makra (1-10)
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_MacroBegin
 | Návratová hodnota | BOOL | FALSE


5.8.6 Funkce GC_MacroEnd

Knihovna : CanvasLib

Funkce označuje konec definice makra. Viz GC_MacroBegin .

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_MacroEnd
 | Návratová hodnota | BOOL | FALSE


5.8.7 Funkce GC_MacroRun

Knihovna : CanvasLib

Funkce spustí předem nadefinované makro. Viz GC_MacroBegin . Po jeho ukončení se pokračuje následujícím grafickým povelem.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | index | USINT | index makra (1-10)
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_MacroRun
 | Návratová hodnota | BOOL | FALSE


5.8.8 Funkce GC_PopHeading

Knihovna : CanvasLib

Funkce obnoví úhel kreslicího pera uložený funkcí GC_PushHeading . Parametrem je index pozice v pomocném zásobníku. Pokud je index 1 – 10, použije se přímo hodnota na této pozici. Pokud je index 0, použije se hodnota z vrcholu zásobníku (pozice 1), obsah zbylých pozic se přesune (data z pozic 2 – 10 se přesunou do pozic 1 – 9).

Pozn: Pro uložení pozice a úhlu se používají dva oddělené zásobníky.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | index | USINT | index pozice v zásobníku (1 – 10) nebo vrchol zásobníku (0)
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_PopHeading
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_PushHeading

GC_PushPosition


5.8.9 Funkce GC_PopPosition

Knihovna : CanvasLib

Funkce obnoví pozici kreslicího pera uloženou funkcí GC_PushPosition . Parametrem je index pozice v zásobníku. Pokud je index 1 – 10, použije se přímo hodnota na této pozici. Pokud je index 0, použije se hodnota z vrcholu zásobníku (pozice 1), obsah zbylých pozic se přesune (data z pozic 2 – 10 se přesunou do pozic 1 – 9).

Pozn: Pro uložení pozice a úhlu se používají dva oddělené zásobníky.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | index | USINT | index pozice v zásobníku (1 – 10) nebo vrchol zásobníku (0)
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_PopPosition
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_PushPosition

GC_PushHeading


5.8.10 Funkce GC_PushHeading

Knihovna : CanvasLib

Funkce uloží do pomocného zásobníku úhel kreslicího pera. Parametrem funkce je index pozice v zásobníku. Pokud je index 1 – 10, hodnota se uloží přímo na tuto pozici. Pokud je index 0, posune se obsah zásobníku (data z pozic 1 – 9 se přesunou do pozic 2 – 10) a nová hodnota se zapíše do pozice 1 (vrchol zásobníku).

Pozn: Pro uložení pozice a úhlu se používají dva oddělené zásobníky.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | index | USINT | index pozice v zásobníku (1 – 10) nebo vrchol zásobníku (0)
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_PushHeading
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_PopHeading

GC_PushPosition


5.8.11 Funkce GC_PushPosition

Knihovna : CanvasLib

Funkce uloží do pomocného zásobníku pozici kreslicího pera. Parametrem funkce je index pozice v zásobníku. Pokud je index 1 – 10, hodnota se uloží přímo na tuto pozici. Pokud je index 0, posune se obsah zásobníku (data z pozic 1 – 9 se přesunou do pozic 2 – 10) a nová hodnota se zapíše do pozice 1 (vrchol zásobníku).

Pozn: Pro uložení pozice a úhlu se používají dva oddělené zásobníky.

Popis proměnných :

 | Proměnná | Typ | Význam
VAR_INPUT
 | index | USINT | index pozice v zásobníku (1 – 10) nebo vrchol zásobníku (0)
VAR_IN_OUT
 | GrData | TCanvasData | odkaz na buffer kreslícího plátna
GC_PushPosition
 | Návratová hodnota | BOOL | FALSE

Viz též:

GC_PopPosition

GC_PushHeading


6 Úvod

6 Funkční bloky

V knihovně CanvasLib nejsou definovány žádné funkční bloky.


7 Příklady použití