' Abfrage des IDCMP
' H. Kunz 1988

DECLARE FUNCTION GetMsg&  LIBRARY
LIBRARY "exec.library"
LIBRARY "intuition.library"

flags&=PEEKL (WINDOW(7)+82)      ' Momentan gesetzte Flags
flags&=flags& OR 65536&          ' Diskremoved dazugeben
ModifyIDCMP WINDOW(7),flags&     ' Flags aendern

warte:
  userport&=PEEKL(WINDOW(7)+86)  ' Zeiger auf Userport
  signal&  =GetMsg&(userport&)   ' Message Port ermitteln
  idcmp&   =PEEKL(signal&+20)    ' IDCMP Flags lesen
  PRINT idcmp&:
  IF idcmp&=65536& THEN aus      ' Keine Disk im Laufwerk 
                                 ' Programm beenden 
GOTO warte

aus:
  LIBRARY CLOSE

' IDCMP Flags

'  Wert      Bedeutung
'----------------------------------------------
'      1     Sizeverify
'      2     Fenstergroesse veraendert 
'      4     Refreshwindow
'      8     linke Maustaste wurde gedrueckt
'     16     Mausbewegung
'     32     Gadget down
'     64     Gadget up
'    128     Reqset
'    256     Menu angewaehlt
'    512     Fenster wurde geschlossen
'   1024     Taste gedrueckt
'   2048     Reqverify
'   4096     Reqclear
'   8192     Menuverify
'  16384     Neue Preference Struktur erstellt
'  32768     Diskette eingelegt
'  65536     Diskette entnommen
' 262144     Fenster aktiv
' 524288     Fenster nicht aktiv
'----------------------------------------------
