Home AESAES ListboxenListboxen MenüfunktionenMenüfunktionen

8.16 MagiC Funktionen

Diese Bibliothek enthält spezielle Funktionen, welche nur unter MagiC zur Verfügung stehen.

sys_recalc_cicon_colours Übergibt rgb-Tripel in Promille für die Iconwandlung bei "direct colour" Bildschirm-Modi.
sys_set_editob Edit-Objekt definieren
sys_set_getfn AES-Funktion ermitteln
sys_set_setfn AES-Funktion ändern
sys_set_winframe_manager Installieren eines neuen Fensterrahmen-Manager
sys_set_getdisp AES-Dispatcher ermitteln
sys_set_appl_getinfo In appl_getinfo einklinken

Querverweis: AES

8.16.1 sys_set_getdisp

Name: AES-Dispatcher ermitteln.
 
AES-Nummer: 0 (Unterfunktion 0)
 
Deklaration: void sys_set_getdisp(void **disp_addr, void **disp_err);
 
Beschreibung:
 
Ergebnis:
 
Verfügbar: Ab MagiC 5.20
 
Gruppe: MagiC Funktionen
 
Querverweis: Binding
 

8.16.1.1 Bindings für sys_set_getdisp

C: void sys_set_getdisp(void **disp_addr, void **disp_err);
 
Umsetzung:
 
void sys_set_getdisp(void **disp_addr, void **disp_err);
{
   int_in[0]  = 0;      /* Subcode 0: determine AES dispatcher */

   crys_if(0);

   *disp_addr = addr_out[0];
   if (disp_err)
      *disp_err = addr_out[1];
}
GEM-Arrays:
 

Adresse Feldelement Belegung
control control[0] 0 # Function opcode
control+2 control[1] 1 # Entry in int_in
control+4 control[2] 0 # Entry in int_out
control+6 control[3] 0 # Entry in addr_in
control+8 control[4] 2 # Entry in addr_out
int_in int_in[0] 0
addr_out addr_out[0]

8.16.2 sys_recalc_cicon_colours

Name: ???
 
AES-Nummer: 0 (Unterfunktion 5)
 
Deklaration: void *sys_recalc_cicon_colours( uint16_t colour_values[3*256] );
 
Beschreibung: Übergibt rgb-Tripel in Promille für die Iconwandlung bei "direct colour" Bildschirm-Modi.
 
Wird laut Andreas Kromke nur von MagxDesk verwendet, um Icons umzurechnen. Ist nicht näher dokumentiert.
 
Ergebnis: Unbekannt.
 
Verfügbar: Ab MagiC 5.20 vom 20.11.97
 
Gruppe: Resourceorganisation
 
Querverweis: Binding
 

8.16.2.1 Bindings für sys_recalc_cicon_colours

C: void *sys_recalc_cicon_colours( uint16_t colour_values[3*256] );
 
Umsetzung:
 
void *sys_recalc_cicon_colours( uint16_t colour_values[3*256] );
{
   int_in[0]  = 5;               /* Subcode 5: */
   addr_in[0] = colour_values;

   crys_if(0);
}
GEM-Arrays:
 

Adresse Feldelement Belegung
control control[0] 0 # Opcode der Funktion
control+2 control[1] 1 # Einträge in int_in
control+4 control[2] 0 # Einträge in int_out
control+6 control[3] 1 # Einträge in addr_in
control+8 control[4] 0 # Einträge in addr_out
int_in int_in[0] 5
addr_in addr_in[0] colour_values

8.16.3 sys_set_editob

Name: Edit-Objekt definieren
 
AES-Nummer: 0 (Unterfunktion 4)
 
Deklaration: void *sys_set_editob( int16_t cdecl (*editob) (PARMBLK *pb) );
 
Beschreibung:
 
Ergebnis: Unbekannt.
 
Verfügbar: Ab MagiC 5.20
 
Gruppe: MagiC Funktionen
 
Querverweis: Binding
 

8.16.3.1 Bindings für sys_set_editob

C: void *sys_set_editob( int16_t cdecl (*editob) (PARMBLK *pb) );
 
Umsetzung:
 
void *sys_set_editob( int16_t cdecl (*editob) (PARMBLK *pb) )
{
   int_in[0]  = 4;      /* Subcode 4: define Edit object */
   addr_in[0] = editob;

   crys_if(0);

   return ( addr_out[0] );
}
GEM-Arrays:
 

Adresse Feldelement Belegung
control control[0] 0 # Function opcode
control+2 control[1] 1 # Entry in int_in
control+4 control[2] 0 # Entry in int_out
control+6 control[3] 1 # Entry in addr_in
control+8 control[4] 1 # Entry in addr_out
int_in int_in[0] 4
addr_in addr_in[0] editob
addr_out addr_out[0]

8.16.4 sys_set_getfn

Name: AES-Funktion ermitteln
 
AES-Nummer: 0 (Unterfunktion 1)
 
Deklaration: AES_FUNCTION *sys_set_getfn( int16_t fn );
 
Beschreibung: Es wird ermittelt ob die AES Funktion mit der Nummer fn vorhanden ist.
 
Ergebnis: NULL oder die Adresse der Funktion.
 
Verfügbar: MagiC
 
Gruppe: MagiC Funktionen
 
Querverweis: Binding
 

8.16.4.1 Bindings für sys_set_getfn

C: AES_FUNCTION *sys_set_getfn( int16_t fn );
 
Binding:
 
AES_FUNCTION *sys_set_getfn( int16_t fn )
{
   int_in[0]  = 1;      /* Subcode 1: AES-Funktion ermitteln */
   int_in[1]  = fn;

   crys_if(0);

   return ( addr_out[0] );
}
GEM-Arrays:
 

Adresse Feldelement Belegung
control control[0] 0 # Function opcode
control+2 control[1] 2 # Entry in int_in
control+4 control[2] 0 # Entry in int_out
control+6 control[3] 0 # Entry in addr_in
control+8 control[4] 1 # Entry in addr_out
int_in int_in[0] 1
int_in+2 int_in[1] fn
addr_out addr_out[0]

8.16.5 sys_set_setfn

Name: AES-Funktion ändern
 
AES-Nummer: 0 (Unterfunktion 2)
 
Deklaration: int16_t sys_set_setfn( int16_t fn, AES_FUNCTION *f );
 
Beschreibung: Setzt die Adresse der AES Funktion mit der Nummer fn neu.
 
Ergebnis:
 
Verfügbar: MagiC
 
Gruppe: MagiC Funktionen
 
Querverweis: Binding
 

8.16.5.1 Bindings für sys_set_setfn

C: int16_t sys_set_setfn( int16_t fn, AES_FUNCTION *f );
 
Binding:
 
int16_t sys_set_setfn( int16_t fn, AES_FUNCTION *f )
{
   int_in[0]  = 2;      /* Subcode 2: AES-Funktion ändern */
   int_in[1]  = fn;
   addr_in[0] = f;

   crys_if(0);

   return ( int_out[0] );
}
GEM-Arrays:
 

Adresse Feldelement Belegung
control control[0] 0 # Function opcode
control+2 control[1] 2 # Entry in int_in
control+4 control[2] 1 # Entry in int_out
control+6 control[3] 1 # Entry in addr_in
control+8 control[4] 1 # Entry in addr_out
int_in int_in[0] 2
int_in+2 int_in[1] fn
addr_in addr_in[0] f
addr_out addr_out[0]

8.16.6 sys_set_winframe_manager

Name: Installieren eines neuen Fensterrahmen-Manager
 
AES-Nummer: 0 (Unterfunktion 6)
 
Deklaration: int16_t sys_set_winframe_manager( WINFRAME_HANDLER *old_wfh, WINFRAME_HANDLER *new_wfh, WINFRAME_SETTINGS **set )
 
Beschreibung:
 
Ergebnis: Unbekannt.
 
Verfügbar: Ab MagiC 6
 
Gruppe: Fensterverwaltung
 
Querverweis: Binding
 

8.16.6.1 Bindings für sys_set_winframe_manager

C: int16_t sys_set_winframe_manager( WINFRAME_HANDLER *old_wfh, WINFRAME_HANDLER *new_wfh, WINFRAME_SETTINGS **set );
 
Umsetzung:
 
int16_t sys_set_winframe_manager( WINFRAME_HANDLER *old_wfh,
            WINFRAME_HANDLER *new_wfh,
            WINFRAME_SETTINGS **set )
{
   int_in[0]  = 6;      /* Subcode 6: Fensterrahmen-Manager */
   addr_in[0] = old_wfh;
   addr_in[1] = new_wfh;

   crys_if(0);

   *set = addr_out[0];

   return ( int_out[0] );
}
GEM-Arrays:
 

Adresse Feldelement Belegung
control control[0] 0 # Opcode der Funktion
control+2 control[1] 1 # Einträge in int_in
control+4 control[2] 1 # Einträge in int_out
control+6 control[3] 2 # Einträge in addr_in
control+8 control[4] 1 # Einträge in addr_out
int_in int_in[0] 6
addr_in addr_in[0] old_wfh
addr_in+4 addr_in[1] new_wfh
int_out int_out[0] Return-Wert
addr_out addr_out[0] set

8.16.7 sys_set_appl_getinfo

Name: In appl_getinfo einklinken.
 
AES-Nummer: 0 (Unterfunktion 6)
 
Deklaration: AES_FUNCTION *sys_set_appl_getinfo( AES_FUNCTION *f );
 
Beschreibung:
 
Ergebnis: Vorherige Funktion.
 
Verfügbar: Ab MagiC 5.20
 
Gruppe: MagiC Funktionen
 
Querverweis: Binding
 

8.16.7.1 Bindings für sys_set_appl_getinfo

C: AES_FUNCTION *sys_set_appl_getinfo( AES_FUNCTION *f );
 
Umsetzung:
 
AES_FUNCTION *sys_set_appl_getinfo( AES_FUNCTION *f )
{
   int_in[0]  = 3;      /* Subcode 4: define Edit objcet */
   addr_in[0] = f

   crys_if(0);

   return ( addr_out[0] );
}
GEM-Arrays:
 

Adresse Feldelement Belegung
control control[0] 0 # Function opcode
control+2 control[1] 1 # Entry in int_in
control+4 control[2] 0 # Entry in int_out
control+6 control[3] 1 # Entry in addr_in
control+8 control[4] 1 # Entry in addr_out
int_in int_in[0] 3
addr_in addr_in[0] f
addr_out addr_out[0]

Home AESAES ListboxenListboxen MenüfunktionenMenüfunktionen