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-File8.9.8 wind_get TOS Name: »Get Window« - ermittelt die Parameter eines Fensters. AES-Nummer: 104 Deklaration: int16_t wind_get ( int16_t wi_ghandle, int16_t wi_gfield, int16_t *wi_gw1, int16_t *wi_gw2, int16_t *wi_gw3, int16_t *wi_gw3 ); Beschreibung: Die Funktion liefert abhängig von den übergebenen Parametern verschiedene Informationen über das Fenster mit der Kennung wi_ghandle. Es gilt für wi_gfield. Zusammenfassung aller Unterfunktionen WF_BEVENT (24) erfragt den Status des Bitvektors, der per wind_set (..., WF_BEVENT, ...) gesetzt wurde, und schreibt ihn in den Parameter wi_gw1. Achtung: Das Vorhandensein dieses Features sollte per appl_getinfo (Opcode 11) ermittelt werden. WF_BOTTOM (25) erfragt das Handle des untersten Fensters, und schreibt dieses in den Parameter wi_gw1. Achtung: Das Vorhandensein dieses Features sollte per appl_getinfo (Opcode 11) ermittelt werden. WF_CURRXYWH (05) berechnet die Gesamtgröße des Fenster und schreibt sie in die weiteren Parameter wi_gw1, wi_gw2, wi_gw3 und wi_gw4. WF_DCOLOR (19) liefert die Fensterfarben zurück, und zwar wie folgt: wi_gw1 = Fensterelement wi_gw2 = Farbe bei aktivem Fenster wi_gw3 = Farbe bei inaktivem Fenster Achtung: Das Vorhandensein dieses Features sollte per appl_getinfo (Opcode 11) ermittelt werden. Ab MagiC 4 und XaAES v 0.943 können darüber hinaus für jedes einzelne Fensterelement 3D- Flags abgefragt werden. Der Aufruf lautet dabei: wind_get (0, WF_DCOLOR, ...) Es gilt: wi_gw1 = Fensterelement wi_gw2 = Farbe im aktiven Zustand wi_gw3 = Farbe im inaktiven Zustand wi_gw4 = 3D-Flags Die 3D-Flags werden dabei als Bitvektor beschrieben; es gilt: Bit-0 = Effekt "3D im Vordergrund" Bit-1 = Effekt "3D im Hintergrund" Bit-2 = Effekt "selektierbar im Vordergrund" Bit-3 = dto. im Hintergrund Bit-8+n = Maskenbit für Bit n Dieses Feature kann z.Zt. noch nicht über appl_getinfo ermittelt werden. WF_DDELAY (22362) Verzögerungswerte wi_gw1 = Startverzögerung beim Klick auf Scrollpfeil wi_gw2 = Kontinuierliche Verzögerung beim Klick auf Scrollpfeil wi_gw3 = Kontinuierliche Verzögerung beim Klick auf Closer wi_gw4 = Kontinuierliche Verzögerung beim Klick auf Fuller Alle Werte werden in Millisekunden zurückgegeben. Achtung: Das Vorhandensein dieses Features sollte per appl_getinfo (Opcode 22360) ermittelt werden. WF_FIRSTXYWH (11) berechnet die Koordinaten des ersten Rechtecks in der Rechtecksliste und schreibt sie in die weiteren Parameter wi_gw1, wi_gw2, wi_gw3 und wi_gw4. WF_FTOOLBAR (31) ermittelt das erste Rechteck aus der Rechteckliste einer Toolbar. Es gilt: wi_gw1 = x-Koordinate wi_gw2 = y-Koordinate wi_gw3 = Breite wi_gw4 = Höhe des Rechteckes WF_FULLXYWH (07) berechnet die maximale Gesamtgröße des Fensters und schreibt sie in die weiteren Parameter wi_gw1, wi_gw2, wi_gw3 und wi_gw4. WF_HSLIDE (08) berechnet die Position des horizontalen Sliders und schreibt sie in den weiteren Parameter wi_gw1 (0 ganz links, bis 1000 ganz rechts). WF_HSLSIZE (15) berechnet die Größe des horizontalen Sliders relativ zur Gesamtbreite und schreibt sie in den zusätzlichen Parameter wi_gw1 (-1 kleinste Größe, 1 klein bis 1000 Gesamtbreite). WF_ICONIFY (26) liefert folgende Werte zurück: wi_gw1 = Fenster ist ikonifziert (1) oder nicht (0) wi_gw2 = Breite des Fensters wi_gw3 = Höhe des Fensters Achtung: Das Vorhandensein dieses Features sollte per appl_getinfo (Opcode 11) ermittelt werden. WF_INFO (3) Ermittelt den aktuellen Text der Infozeile des Fensters mit dem Handle wi_ghandle und kopiert diesen in den Buffer, dessen Adresse in intin[2] (Highword) und intin[3] (Lowword) übergeben wurde. Besitzt das Fenster keinen Infozeile, so ist der Rückgabewert der Funktion gleich 0; der übergebene Buffer bleibt unverändert. Da eine Infozeile maximal 128 (N.AES) oder 200 (XaAES) Zeichen lang sein kann, sollte der übergebene Buffer genug Platz bieten, um einen String dieser Länge aufzunehmen. Steht nur unter N.AES und XaAES zur Verfügung. WF_INFOXYWH (104) Ermittelt die Position des INFO- Fensterelements. Verfügbar ab MagiC 6.10 WF_KIND (1) ermittelt die aktuellen Komponenten des Fensters, und schreibt sie in den Parameter wi_gw1. WF_MENU (33) liefert die Adresse der OBJECT-Struktur der Menüzeile im Fenster zurück. Dabei enthält wi_gw1 das High-Word, und wi_gw2 das Low-Word der Adresse oder NULL. WF_MINXYWH (103) Fragt die Minimalgröße des Fensters ab. Verfügbar ab MagiC 6 WF_NAME (2) Ermittelt den aktuellen Fenstertitel des Fensters mit dem Handle wi_ghandle und kopiert diesen in den Buffer, dessen Adresse in intin[2] (Highword) und intin[3] (Lowword) übergeben wurde. Besitzt das Fenster keinen Titel, so ist der Rückgabewert der Funktion gleich 0; der übergebene Buffer bleibt unverändert. Da ein Fenstertitel maximal 128 (N.AES) oder 200 (XaAES) Zeichen lang sein kann, sollte der übergebene Buffer genug Platz bieten, um einen String dieser Länge aufzunehmen. Steht nur unter MagiC (ab V6.0), N.AES und XaAES zur Verfügung. WF_NEWDESK (14) die Funktion liefert folgende Werte zurück: wi_gw1 = Hi-Word der Desktop-Adresse wi_gw2 = Lo-Word der Desktop-Adresse wi_gw3 = Index des ersten Objektes Hinweis: Unter der Desktop-Adresse ist hierbei die Adresse des aktiven Desktop-Hintergrundes zu verstehen. Die Ausgabe in wi_gw3 steht nur unter MagiC zur Verfügung. Achtung: Das Vorhandensein dieses Features sollte per appl_getinfo (Opcode 11) ermittelt werden. Ist auch in KAOS 1.4.2 und ab MagiC 1 vorhanden. WF_NEXTXYWH (12) berechnet die Koordinaten des nächsten Rechtecks in der Rechtecksliste und schreibt sie in die weiteren Parameter wi_gw1, wi_gw2, wi_gw3 und wi_gw4. WF_NTOOLBAR (32) ermittelt das nächste Rechteck aus der Rechteckliste einer Toolbar. Es gilt: wi_gw1 = x-Koordinate wi_gw2 = y-Koordinate wi_gw3 = Breite wi_gw4 = Höhe des Rechteckes WF_OPTS (41) Liefert die Einstellungen, welches per wind_set ( WF_OPTS ) gemacht wurden. Das Vorhandensein dieses Features sollte per appl_getinfo (Opcode 11) ermittelt werden. WF_M_OWNER (101) liefert folgende Werte zurück: wi_gw1 = Applikations-ID des Besitzers Nur ab KAOS 1.4.2 (hieß dort noch WF_OWNER) und in MagiC vorhanden. WF_OWNER (20) liefert folgende Werte zurück: wi_gw1 = Applikations-ID des Besitzers wi_gw2 = Fenster ist geöffnet (1) bzw. geschlossen (0) wi_gw3 = Kennung des darüberliegenden wi_gw4 = Kennung des darunterliegenden Fensters Achtung: Das Vorhandensein dieses Features sollte per appl_getinfo (Opcode 11) ermittelt werden. WF_PREVXYWH (06) berechnet die Gesamtgröße des vorherigen Fensters und schreibt sie in die weiteren Paramter wi_gw1, wi_gw2, wi_gw3 und wi_gw4. WF_SCREEN (17) liefert die Adresse und Länge des internen Buffers, in dem das AES den Hintergrund von Dropdownmenüs und Alertboxen zwischenspeichert und schreibt sie in die weiteren Parameter wi_gw1 Highword der Adresse, wi_gw2 Lowword der Adresse, wi_gw3 Highword der Länge und wi_gw4 Lowword der Länge. Bei TOS 1.02 wird für Länge 0 zurückgeliefert (obwohl der Puffer 8000 Bytes faßt). WF_SHADE (22365) Liefert den Shade-Zustand des Fensters. wi_gw1 = Aktueller Shade-Zustand. 1: eingeklappt 0: ausgeklappt Achtung: Das Vorhandensein dieses Features sollte per appl_getinfo (Opcode 22360) ermittelt werden. WF_TOOLBAR (30) liefert die Adresse der OBJECT- Struktur der Toolbar zurück. Dabei enthält wi_gw1 das High-Word, und wi_gw2 das Low-Word der Adresse. WF_TOP (10) liefert die folgenden Werte zurück: wi_gw1 = Kennung des obersten Fensters Ab AES 3.3 wi_gw2 = Applikations-ID des Besitzers wi_gw3 = Kennung des nächsten Fensters wi_gw4 = Spezialfall für MagiC 2.0 und XaAES Wenn kein Fenster geöffnet ist, enthält wi_gw1 den Wert 0. Achtung: MagiC 2.0 muß als oberstes Fensterhandle eine negative Zahl (-2) liefern, falls das Programm einer anderen Applikation gehört, sonst laufen eine Reihe alter Programme nicht. In MagiC 2.0 wird das tatsächliche Handle in wi_gw4 zurückgeliefert. Ab MagiC 3 trifft dies nicht mehr zu, d.h. das Handle wird wie bisher üblich, in wi_gw1 übergeben. XaAES liefert in wi_gw4 die Applikations-ID des Besitzers des nächsten Fensters. WF_UNICONIFY (27) ermittelt die ursprünglichen Ausmaße eines ikonifizierten Fensters. wi_gw1 = x-Position wi_gw2 = y-Position wi_gw3 = Breite wi_gw4 = Höhe des Fensters Achtung: Das Vorhandensein dieses Features sollte per appl_getinfo (Opcode 11) ermittelt werden. WF_VSLIDE (09) berechnet die Position des vertikalen Sliders und schreibt sie in den weiteren Parameter wi_gw1 (0 ganz oben, bis 1000 ganz unten). WF_VSLSIZE (16) berechnet die Höhe des vertikalen Sliders relativ zur Gesamthöhe und schreibt sie in den zusätzlichen Parameter wi_gw1 (-1 kleinste Höhe, 1 klein bis 1000 Gesamthöhe). WF_WIDGETS (200) Ermittelt die aktuellen Positionen der Sliderobjekte (W_UPARROW, W_DNARROW, etc.) des Fensters mit dem Handle wi_ghandle. In den Parametern wi_gw1 und wi_gw2 werden die vertikal Elemente des typs rightwidgets, in den Parametern wi_gw3 und wi_gw4 die horizontal Elemente des typs bottomwidgets geschrieben. wi_gw1 ist das oberste Element, wi_gw2 das unterste Element des Vertikalsliders. wi_gw3 ist das linkeste Element, wi_gw4 das rechteste Element des Horizontalsliders. Achtung: Das Vorhandensein dieses Features sollte per appl_getinfo (Opcode 11) ermittelt werden. WF_M_WINDLIST (102) Liefert in wi_gw1 (High) und wi_gw2 (Low) einen Zeiger auf eine durch 0 abgeschlossene Tabelle der geöffneten Fenster (erstes Element = oberstes Fenster, d.h. auf die Liste ihrer Handles als Integer-Werte. Negative Handles gehören zu eingefrorenen Applikationen. Auf keinen Fall darf über den Zeiger schreibend zugegriffen werden. Nur in KAOS ab 1.4.2 (WF_WINDLIST) und MagiC vorhanden. WF_WINX (22360) Liefert Informationen zur installierten WINX-Version (ab WINX 2.1). wi_gw1 = Version Bit [15..12] Beta-Kennung Bit [11.. 8] Major (momentan 2) Bit [ 7.. 4] Minor (momentan 3) Bit [ 3.. 0] Interne Kennung wi_gw2 = Erstellungsdatum im GEMDOS-Format wi_gw3 = Zeiger (Low) auf die WINX-Externals (bzw. NULL) wi_gw4 = Zeiger (High) auf die WINX-Externals (bzw. NULL) WF_WINXCFG (22361) Liefert die globalen und lokalen Schalter der aufrufenden Applikation (Bit n entspricht jeweils Schalter n+1). wi_gw1 = Bitmaske der von der aktuellen WINX-Version unterstützten globalen Schalter (Bit gesetzt bedeutet, Schalter vorhanden). wi_gw2 = Schalterstellung der globalen Schalter (Bit gesetzt bedeutet, Schalter eingeschaltet). wi_gw3 = Bitmaske der von der aktuellen WINX-Version unterstützten lokalen Schalter der aktuellen Applikation (Bit gesetzt bedeutet, Schalter vorhanden). wi_gw4 = Schalterstellung der lokalen Schalter der aktuellen Applikation (Bit gesetzt bedeutet, Schalter eingeschaltet). Normalerweise sollten Applikationen darauf verzichten diese Informationen abzufragen. Achtung: Das Vorhandensein dieses Features sollte per appl_getinfo (Opcode 22360) ermittelt werden. WF_WORKXYWH (04) berechnet die Koordinaten des Arbeitsbereichs des Fensters und schreibt sie in die weiteren Parameter wi_gw1, wi_gw2, wi_gw3 und wi_gw4. XA (0x5841) Wird als Ergebins 'XA' (0x5841) geliefert so ist XaAES installiert und man erhält in wi_gw1 die Versionsnummer (0x0964 für Version V0.964). wi_ghandle muß auf Null gesetzt werden. Hinweis: Die Parameter wi_gw1, wi_gw2, wi_gw3 und wi_gw4 sind dabei reine Ausgabe-Parameter. Ergebnis: Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0 zurückgegeben wird. Verfügbar: In allen AES Versionen. Gruppe: Fensterverwaltung Querverweis: Binding wind_set Unterfunktionsübersicht