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 Hinweise für Autoren anderer Fontselektoren TOS Autoren anderer Fontselektoren sind dazu eingeladen, sich der xFSL- Schnittstelle anzuschließen. Im Prinzip kann jeder Fontselektor, der als TSR konzipiert ist, mit der xFSL-Schnittstelle ausgerüstet werden. Damit keine Mißverständnisse entstehen: Die Overlay-Technik und die Reentranz, wie sie Calvino und HuGo! bieten, sind nicht Teil der ei- gentlichen Schnittstelle und müssen von anderen Fontselektoren daher auch nicht unterstützt werden. Allerdings ist auch die Schnittstelle zwischen dem residenten Teil ("Shell") und dem nachgeladenen Teil ("Overlay") genormt und kann daher auch von anderen Fontselektoren verwendet werden. Eine Beschreibung dieser internen Schnittstelle ist auf Anfrage erhältlich, siehe "Kontaktadressen". Da bereits eine Reihe von Programmen die alte UFSL-Schnittstelle un- terstützen, erscheint es ratsam, auch in neuen Fontselektoren diese Schnittstelle noch zur Verfügung zu stellen. Jedoch zeigt ein kurzer Blick auf diese Programme, daß sie fast ausschließlich den Fontselektor als modalen Dialog aufrufen. Die Empfehlung lautet daher, eine minimale UFSL-Unterstützung einzubauen (nur als modaler Dialog) und dafür die xFSL-Schnittstelle möglichst weitgehend zu implementieren, da zu erwarten steht, daß gerade die - nun endlich genormten - Erweiterungen gegenüber der UFSL-Schnittstelle von den Programmen verwendet werden sollen. Ein Fontselektor sollte möglichst die folgenden zusätzlichen Features bieten: ∙ Größenänderung möglich Insbesondere ist damit gemeint, daß nicht nur eine Größe ausge- wählt, sondern bei Vektorfonts auch die Zwischengrößen einge- stellt werden können. ∙ fix31-Unterstützung Für einige Anwendungen reicht die Einstellung der Fontgröße in Punkt nicht aus, daher sollte auch eine Einstellung in 1/65536 Punkt möglich sein. ∙ User-Popup Durch das zusätzliche Popup wird der Fontselektor flexibler ein- setzbar. ∙ Drag&Drop-Unterstützung Neben dem "traditionellen" Aufruf über den Cookie kommen Lösungen auf Drag&Drop-Basis immer mehr in Mode. Wenn der Fontselektor von sich aus schon Drag&Drop unterstützt, läßt er sich leicht durch ein kleines "Frontend"-Programm in einen vollwertigen Drag&Drop- Selektor verwandeln. Folgende Konventionen wurden für einen xFSL-Fontselektor vereinbart: ∙ Wenn der Fontselektor über einen Closer verfügt, so wird dieser als "Abbruch" interpretiert, d.h. es wird xFS_STOP zurückgegeben. Ist das Kontrollflag CC_CLOSER gesetzt, wird der gerade aktuelle Font aber trotzdem zurückgegeben (in der PFONTINFO-Struktur in xFSL_PAR). ∙ Wenn der erweiterte Aufruf (xfsl_init, xfsl_event und xfsl_exit) nicht unterstützt wird, muß zumindest eine Dummy-Funktion für xfsl_init installiert werden, die immer -32 (Gemdos-Fehlermeldung EINVFN, ungültige Funktionsnummer) zurückgibt. Es wird aber dringend empfohlen, den erweiterten Aufruf anzubie- ten, da dieser am häufigsten verwendet wird. ∙ Es ist legal, daß der Fontselektor beim erweiterten Aufruf nur als modaler Dialog erscheint. Bei gesetztem CC_WINDOW sollte xfsl_init dann aber xFS_NO_WINDOW zurückgeben, damit sich der Aufrufer darauf einstellen kann.