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-File7.10.28 v_opnvwk TOS Name: »Open virtual Screen Workstation« - öffnet eine Bildschirm-Workstation VDI-Nummer: 100 Deklaration: void v_opnvwk ( int16_t *work_in, int16_t *handle, int16_t *work_out ); Beschreibung: Die Funktion öffnet ein virtuelles Arbeitsgerät, auf einem bereits geöffneten physikalischen Gerät. Nach dem Aufruf enthält der Parameter handle die Kennung des virtuellen Gerätes bzw. den Wert Null im Fehlerfall. Es gilt: Parameter Bedeutung work_in Zeiger auf ein Integerfeld mit den genaueren Spezifikationen des zu ladenden Gerätetreibers work_in[0] Nummer des Gerätetreibers wie im ASSIGN.SYS File angegeben. Für den Bildschirm gilt: 1 = aktuelle Auflösung x = 2 + Getrez() work_in[1] Linientyp work_in[2] Linienfarbe work_in[3] Markertyp work_in[4] Markerfarbe work_in[5] Zeichensatznummer work_in[6] Textfarbe work_in[7] Fülltyp work_in[8] Füllmuster-Index work_in[9] Füllmusterfarbe work_in[10] welche Koordinaten sollen benutzt werden: 0 = NDC-Koordinaten 2 = RC-Koordinaten work_in[11] Seitenformat 0 = Voreinstellung benutzen 1 = DIN A3 2 = DIN A4 3 = DIN A5 4 = DIN B5 16 = Letter Size 17 = Half Size 18 = Legal Size 19 = Double Size 20 = Broad Sheet Size work_in[12] + work_in[13] Zeiger auf einen GEMDOS-Dateinamen in C-Konvention (null-terminiert), oder NULL work_in[14] reserviert, sollte 0 sein work_in[15] reserviert, sollte 0 sein work_out Zeiger auf ein Integerfeld, das genauere Informationen über den geladenen Gerätetreiber enthält work_out[0] Anzahl der maximal ansprechbaren Rastereinheiten in der Horizontalen work_out[1] Anzahl der maximal ansprechbaren Rastereinheiten in der Vertikalen work_out[2] Skalierungsflag: 0 = Gerät kann exakt skalieren 1 = Gerät kann nicht exakt skalieren work_out[3] Breite einer Rastereinheit in Mikrometern work_out[4] Höhe einer Rastereinheit in Mikrometern work_out[5] Anzahl der Zeichensatzhöhen oder Null, falls die Höhe kontinuierlich verändert werden kann work_out[6] Anzahl der Linientypen work_out[7] Anzahl der Linienbreiten oder Null, falls die Strichstärke kontinuierlich verändert werden kann work_out[8] Anzahl der Markertypen work_out[9] Anzahl der Markergrößen oder Null, falls die Größe kontinuierlich verändert werden kann work_out[10] Anzahl der Zeichensätze work_out[11] Anzahl der Füllmuster work_out[12] Anzahl der Schraffurarten work_out[13] Anzahl der vordefinierten Farben work_out[14] Anzahl der verfügbaren Grafikgrundfunktionen (GENERAL DRAWING PRIMITIV, GDP) work_out[15] Liste der auf dem Gerät verfügbaren GDP's. Sind es weniger als zehn wird die Liste durch -1 beendet. Das VDI unterstützt folgende GDP's: 1 = v_bar 2 = v_arc 3 = v_pieslice 4 = v_circle 5 = v_ellipse 6 = v_ellarc 7 = v_ellpie 8 = v_rbox 9 = v_rfbox 10 = v_justified : work_out[24] work_out[25] Liste aller Attribute der GDP's: 0 = Linie 1 = Marker 2 = Text 3 = Füllbereich 4 = kein Attribut : work_out[34] work_out[35] das Gerät ist farbtüchtig (1) oder nicht (0) work_out[36] das Gerät kann Text rotieren (1) oder nicht (0) work_out[37] das Gerät kann eine Fülloperation ausführen (1) oder nicht (0) work_out[38] das Gerät unterstützt CELL ARRAY (1) oder nicht (0) work_out[39] Anzahl der verfügbaren Farben oder 0 = mehr als 32767 Farben verfügbar 2 = monochrom work_out[40] Grafik-Cursor-Kontrolle 0 = keine 1 = nur die Tastatur 2 = Tastatur und andere Geräte work_out[41] Eingabegerät für variierende Eingaben 0 = keine 1 = nur die Tastatur 2 = anderes Gerät work_out[42] Auswahltasten 0 = keine 1 = Funktionstasten auf der Tastatur 2 = zusätzliches Tastenfeld work_out[43] alphanumerische Eingabe 0 = keine 1 = Tastatur work_out[44] Gerätetyp: 0 = reines Ausgabegerät 1 = reines Eingabegerät 2 = Ein/Ausgabegerät 3 = reserviert 4 = Metafile Ausgabe work_out[45] kleinste Buchstabenbreite work_out[46] kleinste Buchstabenhöhe work_out[47] größte Buchstabenbreite work_out[48] größte Buchstabenhöhe work_out[49] kleinste darstellbare Linienbreite work_out[50] immer Null work_out[51] größte Linienbreite work_out[52] immer Null work_out[53] kleinste darstellbare Markerbreite work_out[54] kleinste darstellbare Markerhöhe work_out[55] größte Markerbreite work_out[56] größte Markerhöhe Hinweis: Das VDI besitzt leider keinen Mechanismus, um bei mehreren virtuellen Workstations die Eingabegeräte zu verwalten. Dies muß deshalb von der Applikation übernommen werden, die die physikalische Workstation des Bildschirms geöffnet hat. Wichtig: Die Kennung der aktuellen physikalischen Bildschirm-Workstation muß beim AES per graf_handle erfragt werden. Achtung: In den TOS-Versionen 1.00, 1.04, 1.06, 1.62 und 2.05 gibt es einen Fehler bei der Verwaltung der virtuellen Workstations. Dies kann sich darin äußern daß Kennungen mehrfach vergeben werden, und deshalb u.U. Workstation-Attribute verstellt werden. Dieser Fehler tritt genau dann auf, wenn in der internen Workstationliste des Bildschirmtreibers Lücken entstehen. Abhilfe: das Patch-Programm VDIFIX in den AUTO-Ordner legen. Ergebnis: Die Funktion liefert kein direktes Funktionsergebnis. Verfügbar: Supported by all drivers. Gruppe: Kontrollfunktionen Querverweis: Binding v_opnwk v_clsvwk graf_handle