•  Back 
  •  Ereignisverwaltung 
  •  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.7.1  evnt_button                                                 TOS

 Name:         »Event Button« - wartet auf einen Mausknopfereignis.

 AES-Nummer:   21

 Deklaration:  int16_t evnt_button ( int16_t ev_bclicks, int16_t 
               ev_bmask, int16_t ev_bstate, int16_t *ev_bmx, int16_t 
               *ev_bmy, int16_t *ev_bbutton, int16_t *ev_bkstate );

 Beschreibung: Die Funktion wartet auf einen Button-Event, d.h. bis 
               die in ev_bmask spezifizierten Mausknöpfe in den in 
               ev_bstate angegeben Zustand versetzt werden. Genauer:

               Die Funktion wartet bis das verlangte Ereignis einmal 
               eingetreten ist. Danach wird gewartet und kontrolliert, 
               ob das Ereignis noch einmal auftritt. Falls das 
               Ereignis ev_bclicks mal eingetreten (oder die über 
               evnt_dclick einstellbare Zeit abgelaufen) ist, kehrt 
               die Funktion sofort zurück.

                Parameter   Bedeutung

                ev_bclicks  maximale Anzahl der Klicks
                ev_bmask    einen Bitvektor, der die zu betrachtenden 
                            Knöpfe mit einer 1 maskiert. Dabei gilt
                             Bit-0  =  linker Knopf 
                             Bit-1  =  rechter Knopf. 
                             Bit-2  =  mittlerer Knopf, PC-GEM 

                ev_bstate   einen Bitvektor wie ev_bmask, der für 
                            jeden Knopf festlegt welchen Status er 
                            erreichen muß. Es gilt:
                             0  =  nicht gedrückt 
                             1  =  gedrückt 

                ev_bmx
                ev_bmy      die x bzw. y Koordinate der Maus zum 
                            Zeitpunkt des Auftretens des Ereignisses
                ev_bbutton  der Zustand der Mausknöpfe beim Auftreten 
                            des Ereignisses (analog ev_bstate)
                ev_bkstate  den Zustand der Sondertasten der Tastatur 
                            beim Auftreten des Ereignisses
                             0x001  =  rechte Shifttaste 
                             0x002  =  linke Shifttaste 
                             0x004  =  Controltaste 
                             0x008  =  Alternatetaste 

                            Bei gedrückter Taste wird das 
                            entsprechende Bit gesetzt

               Hinweis: Ab PC-GEM/3 unterstützen die Event-Funktionen 
               nur noch eine Maustaste. Obwohl offiziell nicht 
               dokumentiert, ist es auch möglich beide Maustasten 
               unabhängig voneinander abzufragen. Die folgende Methode 
               wird z.B. vom Atari-Desktop benutzt, und funktioniert 
               seit TOS 1.0:

               ev_bclicks += 0x100;

               In diesem Fall wird auf das folgende Ereignis gewartet: 
               (ev_bstate & ev_bmask) != (*ev_bbutton & ev_bmask)

 Ergebnis:     Die Funktion liefert die Anzahl der tatsächlich 
               vorgenommenen Mausklicks.

 Verfügbar:    All AES versions.

 Gruppe:       Ereignisverwaltung

 Querverweis:  Binding   evnt_multi   Nachrichten