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 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 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);
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 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 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 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 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 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 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 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 * )