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 Die VDI-Workstation TOS Bei den Aufrufen xfsl_input und xfsl_init kann jeweils das Handle einer vom Aufrufer bereits geöffneten virtuellen VDI-Workstation übergeben werden. Davon, ob man tatsächlich ein Handle einer Workstation oder einfach eine Null übergibt, hängt das weitere Verhalten des Fontselektors ab: Übergibt man ein gültiges Handle, so wird der Fontselektor versuchen, den auf der entsprechenden Workstation gerade aktuellen Font zu er- mitteln und diesen dann - sofern er zu den übergebenen Fontflags paßt - auch einstellen und zur Auswahl anbieten. Paßt der aktuelle Font nicht zu den Fontflags (wenn z.B. nur Vektorfonts angeboten werden sollen, der aktuelle Font aber ein Bitmapfont ist), so wird der Fontselektor einen Font aus den tatsächlich angebotenen auswählen und als aktuellen Font präsentieren. Wählt der Anwender nun einen Font aus und beendet den Fontselektor mit "OK", so wird dieser Font auch gleich auf der übergebenen Workstation eingestellt, so daß das aufrufende Programm dies nicht mehr übernehmen muß. Dabei gilt es zu beachten, daß der Fontselektor ebenfalls eine eigene VDI-Workstation öffnet und diese intern und zur Auswahl der Fonts verwendet. U.a. wird er für diese Workstation auch vst_load_fonts() aufrufen (sofern ein GDOS installiert ist). Dies kann zu unerwarteten Resultaten führen, wenn auf der übergebenen Workstation noch kein vst_load_fonts() aufgerufen wurde und der Anwender im Fontselektor einen Font auswählt, der erst nach einem vst_load_fonts()-Aufruf zur Verfügung steht! Statt eines Workstation-Handles kann man aber auch einfach eine Null übergeben. Der Fontselektor wird den aktuellen Font dann aus den übergebenen Parametern (beim xfsl_input-Aufruf) bzw. aus der xFSL_PAR-Struktur (beim xfsl_init-Aufruf) ermitteln. Der ausgewählte Font wird dann (logischerweise) auch nur in den Parametern bzw. der xFSL_PAR-Struktur zurückgegeben und der Aufrufer muß ihn dann selbst einstellen.