•  Back 
  •  Fensterverwaltung 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
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