Call-back procedúry zabezpečujú spätné volania grafického editora z importnej dll-ky. Umožňujú vytváranie grafických objektov schém systému D2000 na základe dekódovania importného súboru. Sú navrhnuté tak, aby bez zmeny vyhovovali všetkým budúcim formátom schém systému D2000. T.j. raz vytvorená importná dll-ka bude funkčná aj v ďalších verziách systému D2000. Avšak samozrejme nebude vedieť využívať nové doplnené možnosti pre importy.
Typy procedúr sú uvedené v nasledujúcej tabuľke:
Typ procedúry | procType | Stručný popis |
---|---|---|
CreateObj | 1 | Vytvorenie nového grafického objektu. |
ObjAction | 2 | Akcia s objektom (objektmi). |
Set_string | 3 | Dosaď do zvoleného parametra vytváraného grafického objektu text. |
Set_boolean | 4 | Dosaď do zvoleného parametra vytváraného grafického objektu logickú hodnotu. |
Set_integer | 5 | Dosaď do zvoleného parametra vytváraného grafického objektu celočíselnú hodnotu. |
Set_float | 6 | Dosaď do zvoleného parametra vytváraného grafického objektu reálnu hodnotu. |
Set_integer2 | 7 | Dosaď do zvoleného parametra vytváraného grafického objektu dve celočíselné hodnoty. |
Set_float2 | 8 | Dosaď do zvoleného parametra vytváraného grafického objektu dve reálne hodnoty. |
ShowInfo | 0 | Zobraz informácie o stave importu. |
Zoznam parametrov a niektorých povolených hodnôt sa nachádza v popise rozhrania pre prekladače jazykov ADA a C.
Poznámka: Celočíselné a reálne hodnoty budú vo vytváranom grafickom objekte prevedené do vnútornej reprezentácie hodnoty ovplyvňovaného parametra.
Procedúra CreateObj
Procedúra vytvorí nový samostatný grafický objekt alebo objekt, ktorý podľa zvoleného typu môže byť pridaný k inému vytváranému objektu. Popis vytvárania je v kapitole Vytváranie grafických objektov.
Definícia typu funkcie vo formátoch prekladačov "ADA" a "C":
type tCreateObj is access procedure (objType : integer);
void _stdcall (*CreateObj)(int)
Procedúra ObjAction
Procedúra podľa zadaného parametra vykoná akciu s vytváraným objektom.
Definícia typu funkcie vo formátoch prekladačov "ADA" a "C":
type tObjAtion is access procedure (action : tObjAction :=closeObject);
void _stdcall (*ObjAtion)(tObjAction)
Definícia typu parametrov funkcie vo formátoch prekladačov "ADA" a "C":
type tObjAction is (closeFigure, closeObject, closeGroup,closeAll);
Popis typov akcií:
Akcia | objType | Popis |
---|---|---|
closeFigure | 0 | Uzatvorí pozičnú skupinu bodov objektu typu polyline - objekt zmení na mnohouholník. |
closeObject | 1 | Ukončí vytváranie objektu (objekt je automaticky zatvorený začatím vytvárania nového objektu). |
closeGroup | 2 | Uzavretie skupiny objektov - ukončí vytváranie aktuálneho objektu a posledne vytváraného objektu typu skupina. |
closeAll | 3 | Uzavretie všetkých rozpracovaných objektov - ukončí vytváranie aktuálneho objektu a všetkých objektov typu skupina. Funkcia s týmto parametrom je automaticky volaná pri ukončení importu. |
Procedúra Set_string
Procedúra dosadí do zvoleného parametra vytváraného grafického objektu text.
Definícia typu funkcie vo formátoch prekladačov "ADA" a "C":
type tset_string is access procedure (param : integer; val:string);
void _stdcall (*Set_string)(int,char far *)
Procedúra Set_boolean
Procedúra dosadí do zvoleného parametra vytváraného grafického objektu logickú hodnotu.
Definícia typu funkcie vo formátoch prekladačov "ADA" a "C":
type tset_boolean is access procedure (param : integer;val :boolean);
void _stdcall (*Set_boolean)(int,bool)
Procedúra Set_integer
Procedúra dosadí do zvoleného parametra vytváraného grafického objektu celočíselnú hodnotu.
Definícia typu funkcie vo formátoch prekladačov "ADA" a "C":
type tset_integer is access procedure (param : integer;val :integer);
void _stdcall (*Set_integer)(int,int)
Procedúra Set_float
Procedúra dosadí do zvoleného parametra vytváraného grafického objektu reálnu hodnotu.
Definícia typu funkcie vo formátoch prekladačov "ADA" a "C":
type tset_float is access procedure (param : integer; val:long_float);
void _stdcall (*Set_float)(int,real)
Procedúra Set_integer2
Procedúra dosadí do zvoleného parametra vytváraného grafického objektu dve celočíselné hodnoty.
Definícia typu funkcie vo formátoch prekladačov "ADA" a "C":
type tset_integer2 is access procedure (param : integer;val1,val2 : integer);
void _stdcall (*>Set_integer2)(int,int,int)
Procedúra Set_float2
Procedúra dosadí do zvoleného parametra vytváraného grafického objektu dve reálne hodnoty.
Definícia typu funkcie vo formátoch prekladačov "ADA" a "C":
type tset_float2 is access procedure (param : integer;val1,val2 : long_float);
void _stdcall (*Set_float2)(int,real,real)
Procedúra ShowInfo
Procedúra dosadí text do informačného okna, ktoré je otvorené počas importu.
Definícia typu funkcie vo formátoch prekladačov "ADA" a "C":
type tShowInfo is access procedure (text : string);
void _stdcall (*ShowInfo)(char far * )
Súvisiace stránky:
0 komentárov