(* Auto: m2c -d .def *) (*--------------------------------------------------------------------------- :Program. ControlIntuition :Author. Fridtjof Björn Siebert :Address. Nobileweg 67, D-7-Stgt-40 :Phone. (0)711/822509 :Shortcut. [fbs] :Version. 1.0 :Date. 31-May-88 :Copyright. PD :Language. MODULA-II :Translator. M2Amiga :Contents. Prozeduren, die es ermöglichen, Intuition aus und an zu :Contents. schalten. Damit hat man volle Kontrolle Über den Amiga. :Remark. I didn't believe this could be so easy ! ---------------------------------------------------------------------------*) DEFINITION MODULE ControlIntuition; FROM Timer IMPORT TimeVal; (*------------------------- Variablen: ----------------------------------*) VAR DisableIntuiCount: CARDINAL; (* Zähler für verschachtelte Aufrufe von DisableIntuition *) MouseX, MouseY: LONGINT; (* Mouse Position. Wird währen Intuition ausgeschaltet ist, verändert. *) (* Es wird kein Rand getestet. Es kann also theoretisch zu einem Über- *) (* kommen, dazu muß die Maus jedoch über 500km in eine Richtung bewegt *) (* werden, ist also relativ unwahrscheinlich. *) RightButton, LeftButton, MiddleButton: TimeVal; (* Die Zeit, zu der der letzte Mouse-Event des jeweiligen Buttons kam. *) (* MiddleButton konnte ich mangels Hardware nicht testen. *) RightButtonRel, LeftButtonRel, MiddleButtonRel: TimeVal; (* Wie oben, nur Buttons losgelassen *) LastRawKey: CARDINAL; LastRawKeyTime: TimeVal; (* Der letzte RawKey und wann er gedrückt wurde *) LastTime: TimeVal; (* Zeit des letzten Events *) (*-------------------- Beispiel: ------------------------------------------ Der rechte Mousknopf kann folgendermaßen abgefragt werden: VAR LastButton: TimeVal; BEGIN LastButton := RightButton; ... IF LastButton#RightButton THEN (* pressed *) LastButton := RightButton; ... ELSE (* not pressed *) ... END; END; ---------------------------------------------------------------------------*) (*-------------------------------------------------------------------------*) (* *) (* DisableIntuition: *) (* *) (*-------------------------------------------------------------------------*) PROCEDURE DisableIntuition(); (* Dies kann genausoleicht wie Forbid() aufgerufen werden *) (*-------------------------------------------------------------------------*) (* *) (* EnableIntuition: *) (* *) (*-------------------------------------------------------------------------*) PROCEDURE EnableIntuition(); END ControlIntuition.