Diese Bibliothek stellt Funktionen zur Verfügung, um Objekte (gleich welcher Art) zu zeichnen und zu manipulieren; hierzu gibt es die folgenden Routinen:
• objc_add | Objekt im Objektbaum einfügen |
• objc_change | Status eine Objekts ändern |
• objc_delete | Objekt aus dem Objektbaum entfernen |
• objc_draw | Objekt (mit Unterobjekten) zeichnen |
• objc_edit | Text eines Objektes editieren |
• objc_find | Objekt an der Mausposition ermitteln |
• objc_offset | Bildschirmkoordinaten eines Objekts ermitteln |
• objc_order | Reihenfolge im Objektbaum umstellen |
• objc_sysvar | Modifikation der 3D-Objekte |
• objc_wchange | Status eines Objektes ändern (im Fenster) |
• objc_wdraw | Objekt (mit Unterobjekten) zeichnen (im Fenster) |
• objc_wedit | Text eines Objektes editieren (im Fenster) |
• objc_xedit | Text eines Objektes editieren |
• objc_xfind | Objektindex über Position ermitteln |
• objc_xoffset | z.Zt. keine Informationen bekannt |
• x_objc_edit | Text eines Objektes editieren, mit Erweiterung |
Hinweis: Eine besondere Beachtung hat dabei objc_sysvar verdient, mit dessen Hilfe der 3D-Look der Objekte gesteuert (und ab MagiC 3 auch abgeschaltet) werden kann.
Querverweis: AES Objektstruktur im AES Scrollende Eingabefelder Style-Guidelines
Name: | »Object add« - fügt ein Objekt im Objektbaum ein.
| ||||||||||
AES-Nummer: | 40
| ||||||||||
Deklaration: | int16_t objc_add ( OBJECT *ob_atree, int16_t ob_aparent,
int16_t ob_achild );
| ||||||||||
Beschreibung: | Die Funktion stellt zwischen zwei Objekten in einem Objektbaum
eine Hierarchische Verknüpfung her. Es gilt:
Hinweis: Beim Einfügen müssen die Komponenten ob_head und ob_tail der OBJECT-Struktur bereits passend initialisiert sein. | ||||||||||
Ergebnis: | Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0
zurückgegeben wird.
| ||||||||||
Verfügbar: | All AES versions.
| ||||||||||
Gruppe: | Objekte
| ||||||||||
Querverweise: | Binding OBJECT objc_delete
|
C: | int16_t objc_add ( OBJECT *ob_atree, int16_t ob_aparent,
int16_t ob_achild );
| ||||||||||||||||||||||||||||||
Umsetzung: |
int16_t objc_add (OBJECT *ob_atree, int16_t ob_aparent, int16_t ob_achild) { int_in[0] = ob_aparent; int_in[1] = ob_achild; addr_in[0] = ob_atree; return ( crys_if(40) ); } | ||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object change« - verändert die Darstellung eines Objekts
innerhalb der angegebenen Grenzen.
| ||||||||||||||||||||||||||||
AES-Nummer: | 47
| ||||||||||||||||||||||||||||
Deklaration: | int16_t objc_change ( OBJECT *ob_ctree, int16_t ob_cobject,
int16_t ob_cresvd, int16_t ob_cxclip, int16_t ob_cyclip, int16_t
ob_cwclip, int16_t ob_chclip, int16_t ob_cnewstate, int16_t ob_credraw
);
| ||||||||||||||||||||||||||||
Beschreibung: | Die Funktion ändert den Status eines Objektes und zeichnet es
ggfs. neu. Es gilt:
| ||||||||||||||||||||||||||||
Ergebnis: | Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0
zurückgegeben wird.
| ||||||||||||||||||||||||||||
Verfügbar: | All AES versions.
| ||||||||||||||||||||||||||||
Gruppe: | Objekte
| ||||||||||||||||||||||||||||
Querverweise: | Binding objc_wchange OBJECT
|
C: | int16_t objc_change ( OBJECT *ob_ctree, int16_t ob_cobject,
int16_t ob_cresvd, int16_t ob_cxclip, int16_t ob_cyclip, int16_t
ob_cwclip, int16_t ob_chclip, int16_t ob_cnewstate, int16_t ob_credraw
);
| ||||||||||||||||||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t objc_change (OBJECT *ob_ctree, int16_t ob_cobject, int16_t ob_cresvd, int16_t ob_cxclip, int16_t ob_cyclip, int16_t ob_cwclip, int16_t ob_chclip, int16_t ob_cnewstate, int16_t ob_credraw) { int_in[0] = ob_cobject; int_in[1] = ob_cresvd; int_in[2] = ob_cxclip; int_in[3] = ob_cyclip; int_in[4] = ob_cwclip; int_in[5] = ob_chclip; int_in[6] = ob_cnewstate; int_in[7] = ob_credraw; addr_in[0] = ob_ctree; return ( crys_if(47) ); } | ||||||||||||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object delete« - löst ein Objekt aus einem Objektbaum.
| ||||||
AES-Nummer: | 41
| ||||||
Deklaration: | int16_t objc_delete ( OBJECT *ob_dltree, int16_t ob_dlobject );
| ||||||
Beschreibung: | Die Funktion entfernt ein Objekt aus einem Objektbaum. Es gilt:
| ||||||
Ergebnis: | Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0
zurückgegeben wird.
| ||||||
Verfügbar: | All AES versions.
| ||||||
Gruppe: | Objekte
| ||||||
See also: | Binding OBJECT objc_add
|
C: | int16_t objc_delete ( OBJECT *ob_dltree, int16_t ob_dlobject );
| |||||||||||||||||||||||||||
Umsetzung: |
int16_t objc_delete (OBJECT *ob_dltree, int16_t ob_dlobject) { int_in[0] = ob_dlobject; addr_in[0] = ob_dltree; return ( crys_if(41) ); } | |||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object draw« - zeichnet ein Objekt.
| ||||||||||||||||||
AES-Nummer: | 42
| ||||||||||||||||||
Deklaration: | int16_t objc_draw ( OBJECT *ob_drtree, int16_t ob_drstart,
int16_t ob_drdepth, int16_t ob_drxclip, int16_t ob_dryclip, int16_t
ob_drwclip, int16_t ob_drhclip );
| ||||||||||||||||||
Beschreibung: | Die Funktion stellt Objekte (oder Teile von Objekten) auf dem
Bildschirm dar. Es gilt:
Hinweis: Über die Parameter kann ein Rechteck angegeben werden, auf das sich die Darstellung beschränken soll (Clipping). | ||||||||||||||||||
Ergebnis: | Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0
zurückgegeben wird.
| ||||||||||||||||||
Verfügbar: | All AES versions.
| ||||||||||||||||||
Gruppe: | Objekte
| ||||||||||||||||||
Querverweise: | Binding objc_wdraw OBJECT
|
C: | int16_t objc_draw ( OBJECT *ob_drtree, int16_t ob_drstart,
int16_t ob_drdepth, int16_t ob_drxclip, int16_t ob_dryclip, int16_t
ob_drwclip, int16_t ob_drhclip );
| ||||||||||||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t objc_draw (OBJECT *ob_drtree, int16_t ob_drstart, int16_t ob_drdepth, int16_t ob_drxclip, int16_t ob_dryclip, int16_t ob_drwclip, int16_t ob_drhclip) { int_in[0] = ob_drstart; int_in[1] = ob_drdepth; int_in[2] = ob_drxclip; int_in[3] = ob_dryclip; int_in[4] = ob_drwclip; int_in[5] = ob_drhclip; addr_in[0] = ob_drtree; return ( crys_if(42) ); } | ||||||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object edit« - editiert einen Text in einem Objekt.
|
AES-Nummer: | 46
|
Deklaration: | int16_t objc_edit ( OBJECT *ob_edtree, int16_t ob_edobject,
int16_t ob_edchar, int16_t *ob_edidx, int16_t ob_edkind );
|
Beschreibung: | Die Funktion ermöglicht Texteingaben in Objekte des Typs
G_FTEXT oder G_FBOXTEXT. Es gilt:
Hinweis: MagiC ab Version 2.0 kennt eine erweiterte Funktion objc_xedit. |
Ergebnis: | Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0
zurückgegeben wird.
|
Verfügbar: | All AES versions.
|
Gruppe: | Objekte
|
Querverweise: | Binding objc_wedit OBJECT TEDINFO objc_xedit
|
C: | int16_t objc_edit ( OBJECT *ob_edtree, int16_t ob_edobject,
int16_t ob_edchar, int16_t *ob_edidx, int16_t ob_edkind );
| |||||||||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t objc_edit (OBJECT *ob_edtree, int16_t ob_edobject, int16_t ob_edchar, int16_t *ob_edidx, int16_t ob_edkind) { int_in[0] = ob_edobject; int_in[1] = ob_edchar; int_in[2] = *ob_edidx; int_in[3] = ob_edkind; addr_in[0] = ob_edtree; crys_if (46); *ob_edidx = int_out[1]; return ( int_out[0] ); } | |||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object find« - ermittelt, welches Objekt sich an der
angegebenen Bildschirmposition befindet.
| ||||||||||||||
AES-Nummer: | 43
| ||||||||||||||
Deklaration: | int16_t objc_find ( OBJECT *ob_ftree, int16_t ob_fstartob,
int16_t ob_fdepth, int16_t ob_fmx, int16_t ob_fmy );
| ||||||||||||||
Beschreibung: | Die Funktion bestimmt das Objekt, welches sich unter dem
Mauszeiger befindet. Es gilt:
| ||||||||||||||
Ergebnis: | Als Ergebnis wird die Nummer des entsprechenden Objektes (oder
-1 für 'nicht gefunden') zurückgegeben.
| ||||||||||||||
Verfügbar: | All AES versions.
| ||||||||||||||
Gruppe: | Objekte
| ||||||||||||||
Querverweise: | Binding OBJECT objc_xfind
|
C: | int16_t objc_find ( OBJECT *ob_ftree, int16_t ob_fstartob,
int16_t ob_fdepth, int16_t ob_fmx, int16_t ob_fmy );
| ||||||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t objc_find (OBJECT *ob_ftree, int16_t ob_fstartob, int16_t ob_fdepth, int16_t ob_fmx, int16_t ob_fmy) { int_in[0] = ob_fstartob; int_in[1] = ob_fdepth; int_in[2] = ob_fmx; int_in[3] = ob_fmy; addr_in[0] = ob_ftree; return ( crys_if(43) ); } | ||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object Offset« - berechnet die Position eines Objekts auf
dem Bildschirm.
| ||||||||||
AES-Nummer: | 44
| ||||||||||
Deklaration: | int16_t objc_offset ( OBJECT *ob_oftree, int16_t ob_ofobject,
int16_t *ob_ofxoff, int16_t *ob_ofyoff );
| ||||||||||
Beschreibung: | Die Funktion berechnet die Position eines Objektes in absoluten
Bildschirmkoordinaten. Es gilt:
| ||||||||||
Ergebnis: | Ein Rückgabewert von 0 kennzeichnet einen Fehler.
| ||||||||||
Verfügbar: | All AES versions.
| ||||||||||
Gruppe: | Objekte
| ||||||||||
See also: | Binding OBJECT form_center
|
C: | int16_t objc_offset ( OBJECT *ob_oftree, int16_t ob_ofobject,
int16_t *ob_ofxoff, int16_t *ob_ofyoff );
| |||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t objc_offset (OBJECT *ob_oftree, int16_t ob_ofobject, int16_t *ob_ofxoff, int16_t *ob_ofyoff) { int_in[0] = ob_ofobject; addr_in[0] = ob_oftree; crys_if (44); *ob_ofxoff = int_out[1]; *ob_ofyoff = int_out[2]; return ( int_out[0] ); } | |||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object Order« - ordnet ein Objekt innerhalb eines
Objektbaumes neu an.
| ||||||||||||||||||||||
AES-Nummer: | 45
| ||||||||||||||||||||||
Deklaration: | int16_t objc_order ( OBJECT *ob_ortree, int16_t ob_orobject,
int16_t ob_ornewpos );
| ||||||||||||||||||||||
Beschreibung: | Die Funktion verändert die Position eines Objektes innerhalb
eines Unterbaumes. Es gilt:
| ||||||||||||||||||||||
Ergebnis: | Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0
zurückgegeben wird.
| ||||||||||||||||||||||
Verfügbar: | All AES versions.
| ||||||||||||||||||||||
Gruppe: | Objekte
| ||||||||||||||||||||||
Querverweise: | Binding OBJECT
|
C: | int16_t objc_order ( OBJECT *ob_ortree, int16_t ob_orobject,
int16_t ob_ornewpos );
| ||||||||||||||||||||||||||||||
Umsetzung: |
int16_t objc_order (OBJECT *ob_ortree, int16_t ob_orobject, int16_t ob_ornewpos) { int_in[0] = ob_orobject; int_in[1] = ob_ornewpos; addr_in[0] = ob_ortree; return ( crys_if(45) ); } | ||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object sysvar« - Manipulation der 3D Objekte
| ||||||||||||||||||||||||||||||||||||||||||
AES-Nummer: | 48
| ||||||||||||||||||||||||||||||||||||||||||
Deklaration: | int16_t objc_sysvar ( int16_t ob_smode, int16_t ob_swhich,
int16_t ob_sival1, int16_t ob_sival2, int16_t *ob_soval1, int16_t
*ob_soval2 );
| ||||||||||||||||||||||||||||||||||||||||||
Beschreibung: | Die Funktion erlaubt es, das Erscheinungsbild der 3D-Objekte
des AES zu setzen bzw. zu erfragen. Es gilt:
Hinweis: Die per objc_sysvar vorgenommenen Einstellungen gelten nicht nur für das eigene Programm, sondern für das ganze System. Aus diesem Grund sollte die Funktion in normalen Anwenderprogrammen nicht benutzt werden, sondern nur in Konfigurations-Programmen (z.B. CPX-Modulen) zum Einsatz kommen. In MagiC 2.0 ist die Funktion zwar vorhanden, läßt jedoch aufgrund der noch fehlenden 3D-Objekte keine Modifikationen zu. Deshalb sollte der Rückgabewert der Funktion beachtet werden. Ab MagiC 3 steht der 3D-Look zwar zur Verfügung, jedoch gilt es einige Unterschiede zu beachten. | ||||||||||||||||||||||||||||||||||||||||||
Ergebnis: | Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis der Wert
0 zurückgegeben wird.
| ||||||||||||||||||||||||||||||||||||||||||
Verfügbar: | Available as of AES version 3.40.
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 13) erfragt werden. | ||||||||||||||||||||||||||||||||||||||||||
Gruppe: | Objekte
| ||||||||||||||||||||||||||||||||||||||||||
Querverweise: | Binding
|
C: | int16_t objc_sysvar ( int16_t ob_smode, int16_t ob_swhich,
int16_t ob_sival1, int16_t ob_sival2, int16_t *ob_soval1, int16_t
*ob_soval2 );
| |||||||||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t objc_sysvar (int16_t ob_smode, int16_t ob_swhich, int16_t ob_sival1, int16_t ob_sival2, int16_t *ob_soval1, int16_t *ob_soval2) { int_in[0] = ob_smode; int_in[1] = ob_swhich; int_in[2] = ob_sival1; int_in[3] = ob_sival2; crys_if (48); *ob_soval1 = int_out[1]; *ob_soval2 = int_out[2]; return ( int_out[0] ); } | |||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object window change« - verändert die Darstellung eines
Objekts innerhalb der angegebenen Grenzen.
| ||||||||||||
AES-Nummer: | 61
| ||||||||||||
Deklaration: | void objc_wchange ( OBJECT *ob_ctree, int16_t ob_cobject,
int16_t ob_cnewstate, GRECT *clip, int16_t whandle );
| ||||||||||||
Beschreibung: | Die Funktion ändert den Status eines Objektes und zeichnet es
ggfs. neu. Es gilt:
Hinweis: Ein Aufruf dieser Funktion ist äquivalent zu objc_change (ohne Neuzeichnen) mit einem anschließendem objc_wdraw. | ||||||||||||
Ergebnis: | Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0
zurückgegeben wird.
| ||||||||||||
Verfügbar: | Die Funktion steht in MagiC ab Version 5.10 zur Verfügung.
| ||||||||||||
Gruppe: | Objekte
| ||||||||||||
Querverweise: | Binding objc_change OBJECT
|
C: | void objc_wchange ( OBJECT *ob_ctree, int16_t ob_cobject,
int16_t ob_cnewstate, GRECT *clip, int16_t whandle );
| |||||||||||||||||||||||||||||||||
Umsetzung: |
void objc_wchange (OBJECT *ob_ctree, int16_t ob_cobject, int16_t ob_cnewstate, GRECT *clip, int16_t whandle) { int_in[0] = ob_cobject; int_in[1] = ob_cnewstate; int_in[2] = whandle; addr_in[0] = ob_ctree; addr_in[1] = clip; crys_if(61); } | |||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object window draw« - zeichnet ein Objekt im Fenster.
| ||||||||||||||
AES-Nummer: | 60
| ||||||||||||||
Deklaration: | void objc_wdraw ( OBJECT *ob_drtree, int16_t ob_drstart,
int16_t ob_drdepth, GRECT *clip, int16_t whandle );
| ||||||||||||||
Beschreibung: | Die Funktion stellt Objekte (oder Teile von Objekten) auf dem
Bildschirm dar. Es gilt:
Hinweis: Über die Parameter kann ein Rechteck angegeben werden, auf das sich die Darstellung beschränken soll (Clipping). Besitzt clip den Wert NULL, so beschränkt sich der Zeichenbereich auf den Arbeitsbereich des Fensters. Die Funktion entspricht im wesentlichen objc_draw mit dem Unterschied, dass hier die Rechteckliste eines Fensters beachtet wird. | ||||||||||||||
Ergebnis: | Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0
zurückgegeben wird.
| ||||||||||||||
Verfügbar: | Die Funktion steht in MagiC ab Version 5.10 zur Verfügung.
| ||||||||||||||
Gruppe: | Objekte
| ||||||||||||||
Querverweise: | Binding objc_draw OBJECT
|
C: | void objc_wdraw ( OBJECT *ob_drtree, int16_t ob_drstart,
int16_t ob_drdepth, GRECT *clip, int16_t whandle );
| |||||||||||||||||||||||||||||||||
Umsetzung: |
void objc_wdraw (OBJECT *ob_drtree, int16_t ob_drstart, int16_t ob_drdepth, GRECT *clip, int16_t whandle) { int_in[0] = ob_drstart; int_in[1] = ob_drdepth; int_in[2] = whandle; addr_in[0] = ob_drtree; addr_in[1] = clip; crys_if(60); } | |||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object window edit« - editiert einen Text in einem Objekt.
| ||||||||||||||||||||||||||
AES-Nummer: | 65
| ||||||||||||||||||||||||||
Deklaration: | int16_t objc_wedit ( OBJECT *ob_edtree, int16_t ob_edobject,
int16_t ob_edchar, int16_t *ob_edidx, int16_t ob_edkind, int16_t
whandle );
| ||||||||||||||||||||||||||
Beschreibung: | Die Funktion ermöglicht Texteingaben in Objekte des Typs
G_FTEXT oder G_FBOXTEXT. Es gilt:
Hinweis: Die Funktion entspricht im Prinzip objc_edit mit dem Unterschied, dass hier die Rechteckliste eines Fensters beachtet wird. | ||||||||||||||||||||||||||
Ergebnis: | Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0
zurückgegeben wird.
| ||||||||||||||||||||||||||
Verfügbar: | Die Funktion steht in MagiC ab Version 5.10 zur Verfügung.
| ||||||||||||||||||||||||||
Gruppe: | Objekte
| ||||||||||||||||||||||||||
Querverweise: | Binding objc_edit OBJECT TEDINFO
|
C: | int16_t objc_wedit ( OBJECT *ob_edtree, int16_t ob_edobject,
int16_t ob_edchar, int16_t *ob_edidx, int16_t ob_edkind, int16_t
whandle );
| ||||||||||||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t objc_wedit (OBJECT *ob_edtree, int16_t ob_edobject, int16_t ob_edchar, int16_t *ob_edidx, int16_t ob_edkind, int16_t whandle) { int_in[0] = ob_edobject; int_in[1] = ob_edchar; int_in[2] = *ob_edidx; int_in[3] = ob_edkind; int_in[4] = whandle; addr_in[0] = ob_edtree; crys_if (65); *ob_edidx = int_out[1]; return ( int_out[0] ); } | ||||||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object edit« - editiert einen Text in einem Objekt.
| ||||||||||||||||||||||||||
AES-Nummer: | 46
| ||||||||||||||||||||||||||
Deklaration: | int16_t objc_xedit ( OBJECT *ob_edtree, int16_t ob_edobject,
int16_t ob_edchar, int16_t *ob_edidx, int16_t ob_edkind, GRECT *r );
| ||||||||||||||||||||||||||
Beschreibung: | Die Funktion ermöglicht Texteingaben in Objekte des Typs
G_FTEXT oder G_FBOXTEXT. Es gilt:
| ||||||||||||||||||||||||||
Ergebnis: | Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0
zurückgegeben wird.
| ||||||||||||||||||||||||||
Verfügbar: | ab MagiC Version 2.0
| ||||||||||||||||||||||||||
Gruppe: | Objekte
| ||||||||||||||||||||||||||
Querverweise: | Binding objc_wedit OBJECT TEDINFO objc_edit
|
C: | int16_t objc_xedit ( OBJECT *ob_edtree, int16_t ob_edobject,
int16_t ob_edchar, int16_t *ob_edidx, int16_t ob_edkind, GRECT *r );
| ||||||||||||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t objc_xedit (OBJECT *ob_edtree, int16_t ob_edobject, int16_t ob_edchar, int16_t *ob_edidx, int16_t ob_edkind, GRECT *r) { int_in[0] = ob_edobject; int_in[1] = ob_edchar; int_in[2] = *ob_edidx; int_in[3] = ob_edkind; addr_in[0] = ob_edtree; addr_in[1] = r; crys_if (46); *ob_edidx = int_out[1]; return ( int_out[0] ); } | ||||||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object xfind« - ermittelt, welches Objekt sich an der
angegebenen Bildschirmposition befindet.
| ||||||||||||||
AES-Nummer: | 49
| ||||||||||||||
Deklaration: | int16_t objc_xfind ( OBJECT *ob_ftree, int16_t ob_fstartob,
int16_t ob_fdepth, int16_t ob_fmx, int16_t ob_fmy );
| ||||||||||||||
Beschreibung: | Die Funktion bestimmt das Objekt, welches sich unter dem
Mauszeiger befindet. Es gilt:
Hinweis: Der Unterschied zu objc_find besteht darin, daß statt dem normalen Objektrechteck das umfassende Objektrechteck benutzt wird. Bei dieser Funktion wird also auch der Rahmen des Objektes beachtet. | ||||||||||||||
Ergebnis: | Als Ergebnis wird die Nummer des entsprechenden Objektes (oder
-1 für 'nicht gefunden') zurückgegeben.
| ||||||||||||||
Verfügbar: | Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 5)
erfragt werden.
| ||||||||||||||
Gruppe: | Objekte
| ||||||||||||||
Querverweise: | Binding OBJECT objc_find
|
C: | int16_t objc_xfind ( OBJECT *ob_ftree, int16_t ob_fstartob,
int16_t ob_fdepth, int16_t ob_fmx, int16_t ob_fmy );
| ||||||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t objc_xfind (OBJECT *ob_ftree, int16_t ob_fstartob, int16_t ob_fdepth, int16_t ob_fmx, int16_t ob_fmy) { int_in[0] = ob_fstartob; int_in[1] = ob_fdepth; int_in[2] = ob_fmx; int_in[3] = ob_fmy; addr_in[0] = ob_ftree; return ( crys_if(49) ); } | ||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Object edit« - editiert einen Text in einem Objekt.
| |||||||||||||||||||||||||||||||
AES-Nummer: | 28992
| |||||||||||||||||||||||||||||||
Deklaration: | int16_t x_objc_edit( OBJECT *tree, int16_t edit_obj, int16_t
key_press, int16_t shift_state, int16_t *edit_idx, int16_t mode );
| |||||||||||||||||||||||||||||||
Beschreibung: |
This function is nearly identical to the objc_edit function normaly found in GEM. By adding the shift_state, however, it is able to correctly process extended keystrokes involving the [Control] and [Shift] keys. | |||||||||||||||||||||||||||||||
Ergebnis: | 0 = edit_obj ist kein editierbares Feld
1 = Kein Fehler In edit_idx wird die neue Cursorposition zurückgeliefert. | |||||||||||||||||||||||||||||||
Verfügbar: | Die Funktion steht nur unter Geneva zur Verfügung.
| |||||||||||||||||||||||||||||||
Gruppe: | Objekte
| |||||||||||||||||||||||||||||||
Querverweis: | Binding objc_edit
|
C: | int16_t x_objc_edit( OBJECT *tree, int16_t edit_obj, int16_t
key_press, int16_t shift_state, int16_t *edit_idx, int16_t mode );
| ||||||||||||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t x_objc_edit( OBJECT *tree, int16_t edit_obj, int16_t key_press, int16_t shift_state, int16_t *edit_idx, int16_t mode ) { int_in[0] = edit_obj; int_in[1] = key_press; int_in[2] = *edit_idx; int_in[3] = shift_state; int_in[4] = mode; addr_in[0] = tree; crys_if(28992); *edit_idx = int_out[1]; return ( int_out[0] ); } | ||||||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|