•  Back 
  •  Titel 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - das Betriebssystem
Author      : 
Version     : tos.hyp (5. März 2013)
Subject     : Programmieren/Atari
Nodes       : 3001
Index Size  : 93602
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Titel
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File15.13.3.1.3  xfsl_event                                            TOS

Wenn der Fontselektor initialisiert und auf den Bildschirm gebracht 
wurde, übernimmt xfsl_event die Hauptarbeit.

     int xfsl_event (int    xhandle,
                     EVENT *event
                    );

Die beiden Parameter bedeuten:

 xhandle   Das Handle des Fontselektors, wie es von xfsl_init gelie- 
           fert wurde.

 event     Zeiger auf eine EVENT-Struktur, wie sie von Pure C verwen- 
           det wird. In dieser Struktur liefert der Fontselektor AES- 
           Events zurück, die er nicht selbst bearbeiten konnte. 
           Außerdem können Sie über die Eingabeparameter dem 
           Fontselektor auch mitteilen, über welche Ereignisse sie 
           überhaupt unterrichtet werden wollen.

           Der Zeiger kann aber auch einfach Null sein, wenn Sie keine 
           (weiteren) Events auswerten wollen. Soll der Fontselektor 
           als Fensterdialog betrieben werden und der Aufrufer (d.h. 
           Ihr Programm) hat noch weitere Fenster offen, dann müssen 
           Sie aber zumindest die Redraw-Meldungen auswerten!

           Beispiel: Wenn Sie in `ev_mflags' das Flag MU_MESAG setzen, 
           wird der Fontselektor alle eintreffenden AES-Nachrichten, 
           die er nicht selbst bearbeiten kann, an den Aufrufer zu- 
           rückliefern.

           Hinweis: Es ist natürlich auch möglich, Timer-Events zu be- 
           kommen. Diese sollten aber sparsam eingesetzt werden und 
           nicht zu kurz sein, da der Fontselektor dazu jedesmal erst 
           seine eigene Event-Schleife verlassen muß. 250 ms mögen als 
           - unverbindliche - untere Grenze gelten.

Die möglichen Rückgabewerte von xfsl_event:

 xFS_STOP    Im Fontselektor wurde der Button "Abbruch" oder (so vor- 
             handen) der Closer des Fensterdialogs angewählt.

             Wenn das Kontrollflag CC_CLOSER gesetzt ist und der 
             Closer angeklickt wurde, enthält die PFONTINFO-Struktur, 
             auf die der Zeiger in der xFSL_PAR-Struktur zeigt, aber 
             trotzdem Angaben darüber, welcher Font zuletzt im 
             Fontselektor angewählt worden war. Anders wäre diese In- 
             formation sonst ja nicht zu erhalten.

 xFS_OK      Es wurde ein Font ausgewählt und "OK" angewählt. Welcher 
             Font ausgewählt wurde, beschreibt die PFONTINFO-Struktur, 
             auf die der Zeiger in der xFSL_PAR-Struktur zeigt. Wenn 
             bei xfsl_init ein gültiges VDI-Handle übergeben wurde, 
             dann wird der ausgewählte Font auch gleich auf dieser 
             VDI-Workstation eingestellt.

 xFS_HELP    Der Hilfe-Button wurde angewählt (kann natürlich nur auf- 
             treten, wenn Sie ihn haben einblenden lassen). Es liegt 
             nun am Aufrufer, wie er darauf reagiert. Im Normalfall 
             wird man wohl eine Hilfe geben, z.B. indem man eine 
             Hilfsseite anzeigt oder anzeigen läßt.

 xFS_EVENT   Ein AES-Event ist aufgetreten, den der Fontselektor nicht 
             bearbeiten konnte (z.B. eine Redraw-Meldung für ein ande- 
             res Fenster). Welcher Event es genau war, können Sie dem 
             Feld `ev_mwich' der EVENT-Struktur entnehmen.

             Accessories sollten bei Eintreffen der Nachricht AC_CLOSE 
             den Aufruf von xfsl_exit nicht vergessen! Gleiches gilt 
             analog für die Nachricht AP_TERM.

 xFS_POPUP   Am User-Popup (sofern vorhanden) wurde ein Veränderung 
             vorgenommen. Bei dem Popup-Eintrag, der geändert wurde, 
             ist im Element `fontflags' das Bit FF_CHANGED gesetzt. 
             Der Popup-Eintrag, der jetzt angewählt wurde und bei 
             Rückkehr in den Fontselektor (beim nächsten xfsl_event- 
             Aufruf) der aktuelle des Popups sein wird, steht im 
             Element `sel_entry'.

             Sie haben jetzt noch die Möglichkeit, Änderungen an den 
             Popup-Einträgen vorzunehmen, beispielsweise die Fontflags 
             zu ändern oder den geänderten Font in alle anderen 
             Popup-Einträge zu übernehmen (auf diese Weise ist es auch 
             möglich, das Popup für eine andere Information zu verwen- 
             den, die mit den ausgewählten Fonts nichts zu tun hat). 
             Die Texte und die Anzahl der Popup-Einträge dürfen aber 
             nicht verändert werden!

 andere Werte: Andere positive Werte sollten ignoriert werden. Es ist 
             möglich, daß die Schnittstelle um weitere Rückgabewerte 
             (Ereignisse) erweitert wird.

             Negative Werte zeigen einen Fehler an, der Fontselektor 
             sollte dann abgebrochen werden. Dazu muß aber unbedingt 
             noch xfsl_exit aufgerufen werden!