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.2 wind_calc TOS Name: »Window Calculation« - berechnet die Grenzen oder den gesamten Platzbedarf eines Fensters. AES-Nummer: 108 Deklaration: int16_t wind_calc ( int16_t wi_ctype, int16_t wi_ckind, int16_t wi_cinx, int16_t wi_ciny, int16_t wi_cinw, int16_t wi_cinh, int16_t *coutx, int16_t *couty, int16_t *coutw, int16_t *couth ); Beschreibung: Die Funktion berechnet für ein Fenster die Größe des Randbereichs aus den Koordinaten des Arbeitsbereichs oder umgekehrt. Es gilt: Parameter Bedeutung wi_ctype 0 = WC_BORDER berechnet die Koordinaten des Randbereichs aus den Koordinaten des Arbeitsbereichs in den Parametern wi_cinx, wi_ciny, wi_cinw und wi_cinh. 1 = WC_WORK berechnet die Koordinaten des Arbeitsbereichs aus den Koordinaten des Randbereichs in den Parametern wi_cinx, wi_ciny, wi_cinw und wi_cinh. wi_ckind ein Integerparameter der alle Komponenten des Fenster beeinhaltet, Format wie in wind_create wi_cinx x-Koordinate wi_ciny y-Koordinate wi_cinw Breite wi_cinh Höhe des Fensters (bereits bekannt) coutx x-Koordinate couty y-Koordinate coutw Breite couth Höhe der berechneten Komponente Hinweis: Man sollte niemals davon ausgehen, daß die Elemente eines Fensters eine bestimmte Größe oder Position besitzen, sondern immer diese Funktion benutzen. WINX-Erweiterung: Vorraussetzung: appl_getinfo (Opcode 22360) Setzt man Bit 15 in wi_ctype (z.B. durch Addition der Konstanten WC_WIN (=$8000)) und übergibt in wi_ckind statt Fensterelementen die Kennung eines Fensters, ist es möglich die Ausmaße des Fensters exakter zu bestimmen, da die Funktion die aktuellen Eigenschaften des Fenster berücksichtigen kann (z.B. eine Toolbar). Außerdem führt die Funktion eine Autokorrektur des Strukturbereichs durch, die auch von Funktionen wie wind_open, wind_set( WF_CURRXYWH) vorgenommen wird, falls dies notwendig ist und vom AES unterstützt wird. Ergebnis: Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 0 zurückgegeben wird. Verfügbar: All AES versions. Gruppe: Fensterverwaltung Querverweis: Binding wind_create Probleme bei Toolbars